krb5 commit: Fix minor leak in kadmind password change dispatch

Greg Hudson <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.cvs
Message-ID <[email protected]>
https://github.com/krb5/krb5/commit/597f18953367bbc246fbb0222355a7a94ffff6b4
commit 597f18953367bbc246fbb0222355a7a94ffff6b4
Author: Greg Hudson <[email protected]>
Date:   Thu Oct 25 12:21:45 2018 -0400

    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.

 src/kadmin/server/schpw.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/kadmin/server/schpw.c b/src/kadmin/server/schpw.c
index 491cba9..f7dea39 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;
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.