summaryrefslogtreecommitdiffstats
path: root/src/kadmin/cli
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2006-06-20 23:27:01 +0000
committerKen Raeburn <raeburn@mit.edu>2006-06-20 23:27:01 +0000
commit95d68c2a356ea86513446d24cd46facbcc0c8fef (patch)
tree63d09957afb2b42fca54afd9a40d3b5b763d705c /src/kadmin/cli
parentbf4d9d8d7aebf1c10c9d2361157511c9d880bc2c (diff)
downloadkrb5-95d68c2a356ea86513446d24cd46facbcc0c8fef.tar.gz
krb5-95d68c2a356ea86513446d24cd46facbcc0c8fef.tar.xz
krb5-95d68c2a356ea86513446d24cd46facbcc0c8fef.zip
(kadmin_cpw): Don't crash if principal name is not given. Based on a
patch from S Rahul. (extended_com_err_fn): If error code is zero, don't fetch an error message. ticket: 3308 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18179 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/cli')
-rw-r--r--src/kadmin/cli/kadmin.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c
index e7594170d..64b4c3f1c 100644
--- a/src/kadmin/cli/kadmin.c
+++ b/src/kadmin/cli/kadmin.c
@@ -176,10 +176,14 @@ kadmin_parse_name(name, principal)
static void extended_com_err_fn (const char *myprog, errcode_t code,
const char *fmt, va_list args)
{
- const char *emsg;
- emsg = krb5_get_error_message (context, code);
- fprintf (stderr, "%s: %s ", myprog, emsg);
- krb5_free_error_message (context, emsg);
+ if (code) {
+ const char *emsg;
+ emsg = krb5_get_error_message (context, code);
+ fprintf (stderr, "%s: %s ", myprog, emsg);
+ krb5_free_error_message (context, emsg);
+ } else {
+ fprintf (stderr, "%s: ", myprog);
+ }
vfprintf (stderr, fmt, args);
fprintf (stderr, "\n");
}
@@ -725,6 +729,10 @@ void kadmin_cpw(argc, argv)
}
goto usage;
}
+ if (*argv == NULL) {
+ com_err("change_password", 0, "missing principal name");
+ goto usage;
+ }
retval = kadmin_parse_name(*argv, &princ);
if (retval) {
com_err("change_password", retval, "while parsing principal name");