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.
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;
}