From: Greg Hudson Date: Thu, 25 Oct 2018 16:21:45 +0000 (-0400) Subject: Fix minor leak in kadmind password change dispatch X-Git-Tag: krb5-1.17-beta1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=597f18953367bbc246fbb0222355a7a94ffff6b4;p=thirdparty%2Fkrb5.git Fix minor leak in kadmind password change dispatch In the unlikely event that kadmind cannot resolve the KDB keytab in schpw.c:dispatch(), don't leak the error message. Reported by Bean Zhang. --- diff --git a/src/kadmin/server/schpw.c b/src/kadmin/server/schpw.c index 491cba91aa..f7dea39961 100644 --- a/src/kadmin/server/schpw.c +++ b/src/kadmin/server/schpw.c @@ -438,11 +438,14 @@ dispatch(void *handle, const krb5_fulladdr *local_addr, krb5_keytab kt = NULL; kadm5_server_handle_t server_handle = (kadm5_server_handle_t)handle; krb5_data *response = NULL; + const char *emsg; ret = krb5_kt_resolve(server_handle->context, "KDB:", &kt); if (ret != 0) { + emsg = krb5_get_error_message(server_handle->context, ret); krb5_klog_syslog(LOG_ERR, _("chpw: Couldn't open admin keytab %s"), - krb5_get_error_message(server_handle->context, ret)); + emsg); + krb5_free_error_message(server_handle->context, emsg); goto egress; }