diff options
author | Will Fiveash <will.fiveash@oracle.com> | 2009-01-23 19:57:08 +0000 |
---|---|---|
committer | Will Fiveash <will.fiveash@oracle.com> | 2009-01-23 19:57:08 +0000 |
commit | 7b6eea007e8a5cf36e23fae61c3ddcffe3266fe3 (patch) | |
tree | efd9b24a44db869ce9c9b9d865a0621a3932aad1 /src/kadmin | |
parent | 6f505e7a4c7dfff3ac49721e416e9da4498a4e47 (diff) | |
download | krb5-7b6eea007e8a5cf36e23fae61c3ddcffe3266fe3.zip krb5-7b6eea007e8a5cf36e23fae61c3ddcffe3266fe3.tar.gz krb5-7b6eea007e8a5cf36e23fae61c3ddcffe3266fe3.tar.bz2 |
Merge with head of trunk. Pulled in Ken's fix for db2 hash bug on
filesystems whose record size is > 64K. All make check tests pass on my
Solaris test system using ZFS with recordsize=128K.
git-svn-id: svn://anonsvn.mit.edu/krb5/branches/mkey_migrate@21791 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin')
-rw-r--r-- | src/kadmin/cli/kadmin.c | 2 | ||||
-rw-r--r-- | src/kadmin/server/schpw.c | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c index 4955a44..af6673d 100644 --- a/src/kadmin/cli/kadmin.c +++ b/src/kadmin/cli/kadmin.c @@ -1486,7 +1486,7 @@ void kadmin_getprinc(argc, argv) retval = krb5_unparse_name(context, dprinc.principal, &canon); if (retval) { com_err("get_principal", retval, "while canonicalizing principal"); - krb5_free_principal(context, princ); + kadm5_free_principal_ent(handle, &dprinc); return; } retval = krb5_unparse_name(context, dprinc.mod_name, &modcanon); diff --git a/src/kadmin/server/schpw.c b/src/kadmin/server/schpw.c index 53f2e59..517ea7d 100644 --- a/src/kadmin/server/schpw.c +++ b/src/kadmin/server/schpw.c @@ -39,6 +39,7 @@ process_chpw_request(context, server_handle, realm, keytab, int numresult; char strresult[1024]; char *clientstr = NULL, *targetstr = NULL; + const char *errmsg = NULL; size_t clen; char *cdots; struct sockaddr_storage ss; @@ -244,6 +245,8 @@ process_chpw_request(context, server_handle, realm, keytab, ret = schpw_util_wrapper(server_handle, client, target, (ticket->enc_part2->flags & TKT_FLG_INITIAL) != 0, ptr, NULL, strresult, sizeof(strresult)); + if (ret) + errmsg = krb5_get_error_message(context, ret); /* zap the password */ memset(clear.data, 0, clear.length); @@ -307,12 +310,12 @@ process_chpw_request(context, server_handle, realm, keytab, addrbuf, (int) clen, clientstr, cdots, (int) tlen, targetp, tdots, - ret ? krb5_get_error_message (context, ret) : "success"); + errmsg ? errmsg : "success"); } else { krb5_klog_syslog(LOG_NOTICE, "chpw request from %s for %.*s%s: %s", addrbuf, (int) clen, clientstr, cdots, - ret ? krb5_get_error_message (context, ret) : "success"); + errmsg ? errmsg : "success"); } switch (ret) { case KADM5_AUTH_CHANGEPW: @@ -467,6 +470,8 @@ bailout: krb5_free_unparsed_name(context, targetstr); if (clientstr) krb5_free_unparsed_name(context, clientstr); + if (errmsg) + krb5_free_error_message(context, errmsg); return(ret); } |