Fix a memory leak in libkadm5clnt's get_init_creds()
authorGreg Hudson <ghudson@mit.edu>
Thu, 8 Jul 2010 23:51:24 +0000 (23:51 +0000)
committerGreg Hudson <ghudson@mit.edu>
Thu, 8 Jul 2010 23:51:24 +0000 (23:51 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24179 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/kadm5/clnt/client_init.c

index cc9664f4d42db5855f05f4966212176415fb61e1..735ddfd317c008bccfc2900d630a6d69b0c1b7d2 100644 (file)
@@ -391,12 +391,10 @@ get_init_creds(kadm5_server_handle_t handle, char *client_name,
                unsigned int full_svcname_len)
 {
     kadm5_ret_t code;
-    krb5_principal client;
-    krb5_ccache ccache;
+    krb5_principal client = NULL;
+    krb5_ccache ccache = NULL;
     char svcname[BUFSIZ];
 
-    client = NULL;
-    ccache = NULL;
     /* NULL svcname means use host-based. */
     if (svcname_in == NULL) {
         code = kadm5_get_admin_service_name(handle->context,
@@ -463,6 +461,7 @@ get_init_creds(kadm5_server_handle_t handle, char *client_name,
         code = KADM5_SECURE_PRINC_MISSING;
 
 error:
+    krb5_free_principal(handle->context, client);
     if (ccache != NULL && init_type != INIT_CREDS)
         krb5_cc_close(handle->context, ccache);
     return code;