]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
vol: Free vol header on attach_volume_header error
authorAndrew Deason <adeason@sinenomine.net>
Thu, 3 May 2012 21:36:03 +0000 (16:36 -0500)
committerDerrick Brashear <shadow@dementix.org>
Mon, 28 May 2012 14:45:24 +0000 (07:45 -0700)
In attach_volume_header, make sure we free the volume's header if
we're returning an error. We take care of the locks and i/o handles in
the immediately preceding block, but for an actual error we don't get
rid of the header. Do so.

Noticed by Tom Keiser.

Reviewed-on: http://gerrit.openafs.org/7325
Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit ecfd9549fc29cdad8042e830c656caee1363c6cf)

Change-Id: I1d49c18f23cd576dfcde114238ea2b41e1356039
Reviewed-on: http://gerrit.openafs.org/7492
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/vol/volume.c

index 8599c59de625299ba8e813ebe29568c2ff1c7fb6..fca12561c8c8f82b1b8e53673e26062a400cdab3 100644 (file)
@@ -3005,6 +3005,9 @@ attach_volume_header(Error *ec, Volume *vp, struct DiskPartition64 *partp,
     }
 
     if (*ec) {
+       VOL_LOCK;
+       FreeVolumeHeader(vp);
+       VOL_UNLOCK;
        return;
     }
     if (retry) {