Skip to content

Commit

Permalink
Adapted patch from Apple: in kadmind's process_chpw_request, make sure
Browse files Browse the repository at this point in the history
to free error message strings.

ticket: 6284
status: open

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21776 dc483132-0cff-0310-8789-dd5450dbe970
  • Loading branch information
greghudson committed Jan 22, 2009
1 parent 997d826 commit 6422c0b
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/kadmin/server/schpw.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -467,6 +470,8 @@ process_chpw_request(context, server_handle, realm, keytab,
krb5_free_unparsed_name(context, targetstr);
if (clientstr)
krb5_free_unparsed_name(context, clientstr);
if (errmsg)
krb5_free_error_message(context, errmsg);

return(ret);
}

0 comments on commit 6422c0b

Please sign in to comment.