aboutsummaryrefslogtreecommitdiff
path: root/src/kadmin
diff options
context:
space:
mode:
authorWill Fiveash <will.fiveash@oracle.com>2009-01-23 19:57:08 +0000
committerWill Fiveash <will.fiveash@oracle.com>2009-01-23 19:57:08 +0000
commit7b6eea007e8a5cf36e23fae61c3ddcffe3266fe3 (patch)
treeefd9b24a44db869ce9c9b9d865a0621a3932aad1 /src/kadmin
parent6f505e7a4c7dfff3ac49721e416e9da4498a4e47 (diff)
downloadkrb5-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.c2
-rw-r--r--src/kadmin/server/schpw.c9
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);
}