release defaultIdentity/defaultCreds on error
authorLuke Howard <lukeh@padl.com>
Sat, 19 Mar 2011 14:31:31 +0000 (01:31 +1100)
committerLuke Howard <lukeh@padl.com>
Sat, 19 Mar 2011 14:31:31 +0000 (01:31 +1100)
util_cred.c

index 81c75cd..1cabdcf 100644 (file)
@@ -114,7 +114,7 @@ readDefaultIdentityAndCreds(OM_uint32 *minor,
                             gss_buffer_t defaultIdentity,
                             gss_buffer_t defaultCreds)
 {
-    OM_uint32 major;
+    OM_uint32 major, tmpMinor;
     FILE *fp = NULL;
     char pwbuf[BUFSIZ], buf[BUFSIZ];
     char *ccacheName;
@@ -186,6 +186,11 @@ cleanup:
     if (fp != NULL)
         fclose(fp);
 
+    if (GSS_ERROR(major)) {
+        gss_release_buffer(&tmpMinor, defaultIdentity);
+        gss_release_buffer(&tmpMinor, defaultCreds);
+    }
+
     return major;
 }