diff options
| author | Ken Raeburn <raeburn@mit.edu> | 2006-06-20 23:27:01 +0000 |
|---|---|---|
| committer | Ken Raeburn <raeburn@mit.edu> | 2006-06-20 23:27:01 +0000 |
| commit | 95d68c2a356ea86513446d24cd46facbcc0c8fef (patch) | |
| tree | 63d09957afb2b42fca54afd9a40d3b5b763d705c /src/kadmin/cli | |
| parent | bf4d9d8d7aebf1c10c9d2361157511c9d880bc2c (diff) | |
| download | krb5-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.c | 16 |
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"); |
