zbyszek / rpms / krb5

Forked from rpms/krb5 2 years ago
Clone
Nalin Dahyabhai 2eb0567
commit 9df0c4bdce6b88a01af51e4bbb9a365db00256d5
Nalin Dahyabhai 2eb0567
Author: Greg Hudson <ghudson@mit.edu>
Nalin Dahyabhai 2eb0567
Date:   Wed Jan 15 14:41:54 2014 -0500
Nalin Dahyabhai 2eb0567
Nalin Dahyabhai 2eb0567
    Clean up rcache if GSS krb5 acquire_cred fails
Nalin Dahyabhai 2eb0567
    
Nalin Dahyabhai 2eb0567
    The error handler in acquire_cred_context didn't release the rcache,
Nalin Dahyabhai 2eb0567
    which would cause it to leak if we failed after acquire_accept_cred.
Nalin Dahyabhai 2eb0567
    
Nalin Dahyabhai 2eb0567
    ticket: 7818 (new)
Nalin Dahyabhai 2eb0567
    target_version: 1.12.2
Nalin Dahyabhai 2eb0567
    tags: pullup
Nalin Dahyabhai 2eb0567
Nalin Dahyabhai 2eb0567
diff --git a/src/lib/gssapi/krb5/acquire_cred.c b/src/lib/gssapi/krb5/acquire_cred.c
Nalin Dahyabhai 2eb0567
index 37cc6b5..f625c0c 100644
Nalin Dahyabhai 2eb0567
--- a/src/lib/gssapi/krb5/acquire_cred.c
Nalin Dahyabhai 2eb0567
+++ b/src/lib/gssapi/krb5/acquire_cred.c
Nalin Dahyabhai 2eb0567
@@ -829,6 +829,8 @@ error_out:
Nalin Dahyabhai 2eb0567
         if (cred->keytab)
Nalin Dahyabhai 2eb0567
             krb5_kt_close(context, cred->keytab);
Nalin Dahyabhai 2eb0567
 #endif /* LEAN_CLIENT */
Nalin Dahyabhai 2eb0567
+        if (cred->rcache)
Nalin Dahyabhai 2eb0567
+            krb5_rc_close(context, cred->rcache);
Nalin Dahyabhai 2eb0567
         if (cred->name)
Nalin Dahyabhai 2eb0567
             kg_release_name(context, &cred->name);
Nalin Dahyabhai 2eb0567
         k5_mutex_destroy(&cred->lock);