]> xenbits.xensource.com Git - libvirt.git/commitdiff
sanlock: fix memory leak
authorEric Blake <eblake@redhat.com>
Wed, 21 Sep 2011 20:22:57 +0000 (14:22 -0600)
committerDaniel Veillard <veillard@redhat.com>
Thu, 22 Sep 2011 05:32:20 +0000 (13:32 +0800)
Detected by Coverity.  The only way to get to error_unlink is if
path was successfully assigned, so the if was useless.  Meanwhile,
there was a return statement that did not free path.

* src/locking/lock_driver_sanlock.c
(virLockManagerSanlockSetupLockspace): Fix mem-leak, and drop
useless if.

src/locking/lock_driver_sanlock.c

index 2d72510013896a09d7c7aea291ee138796e79263..13940f1d9de86d3b1b15dd7af5fbfb99791daef6 100644 (file)
@@ -239,7 +239,7 @@ static int virLockManagerSanlockSetupLockspace(void)
                 virReportSystemError(-rv,
                                      _("Unable to add lockspace %s"),
                                      path);
-            return -1;
+            goto error_unlink;
         } else {
             VIR_DEBUG("Lockspace %s is already registered", path);
         }
@@ -250,8 +250,7 @@ static int virLockManagerSanlockSetupLockspace(void)
     return 0;
 
 error_unlink:
-    if (path)
-        unlink(path);
+    unlink(path);
 error:
     VIR_FORCE_CLOSE(fd);
     VIR_FREE(path);