auth: Don't leak key on file parse error
authorSimon Wilkinson <sxw@your-file-system.com>
Sat, 31 Mar 2012 18:59:47 +0000 (14:59 -0400)
committerDerrick Brashear <shadow@dementix.org>
Mon, 9 Apr 2012 01:22:08 +0000 (18:22 -0700)
If we fail for any reason whilst parsing the keyfile from disk, don't
leak the key structure which we allocated to store the results of the
parse.

Change-Id: I21a27723f96af9428465134cfb975c83e10da535
Reviewed-on: http://gerrit.openafs.org/7102
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

src/auth/keys.c

index 52d1265..ba6843d 100644 (file)
@@ -458,7 +458,7 @@ _parseExtendedKeyFile(struct afsconf_dir *dir, char *fileName)
 {
     int fd, i, code;
     afs_int32 nkeys;
-    struct afsconf_typedKey *key;
+    struct afsconf_typedKey *key = NULL;
 
     fd = open(fileName, O_RDONLY);
     if (fd < 0)
@@ -530,6 +530,9 @@ _parseExtendedKeyFile(struct afsconf_dir *dir, char *fileName)
     return 0;
 
 fail:
+    if (key)
+       afsconf_typedKey_put(&key);
+
     close(fd);
     return EIO;
 }