Blob Blame History Raw
If we encounter any errors reading the user's principal name from the default
ccache, fall back to the default of using the current user's name.

diff -up krb5-1.8/src/clients/kpasswd/kpasswd.c.kpasswd-ccache krb5-1.8/src/clients/kpasswd/kpasswd.c
--- krb5-1.8/src/clients/kpasswd/kpasswd.c.kpasswd-ccache	2009-10-30 20:48:38.000000000 -0400
+++ krb5-1.8/src/clients/kpasswd/kpasswd.c	2010-03-05 11:04:42.000000000 -0500
@@ -85,21 +85,23 @@ int main(int argc, char *argv[])
             exit(1);
         }
     } else if ((ret = krb5_cc_default(context, &ccache)) != KRB5_CC_NOTFOUND) {
+        princ = NULL;
+
         if (ret) {
             com_err(argv[0], ret, "opening default ccache");
-            exit(1);
         }
+        else
 
         if ((ret = krb5_cc_get_principal(context, ccache, &princ))) {
             com_err(argv[0], ret, "getting principal from ccache");
-            exit(1);
         }
+        else
 
         if ((ret = krb5_cc_close(context, ccache))) {
             com_err(argv[0], ret, "closing ccache");
-            exit(1);
         }
-    } else {
+    }
+    if (princ == NULL) {
         get_name_from_passwd_file(argv[0], context, &princ);
     }