[libvirt] [PATCH 8/3] conf: avoid memory leak

Eric Blake eblake at redhat.com
Tue Aug 2 19:50:06 UTC 2011


Detected by Coverity.  Introduced in commit 85aa40e.

* src/conf/domain_conf.c (virDomainDiskDefForeachPath): Plug leak.
---
 src/conf/domain_conf.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index e182cd6..010ce57 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -11315,7 +11315,7 @@ int virDomainDiskDefForeachPath(virDomainDiskDefPtr disk,
                                 virDomainDiskDefPathIterator iter,
                                 void *opaque)
 {
-    virHashTablePtr paths;
+    virHashTablePtr paths = NULL;
     int format;
     int ret = -1;
     size_t depth = 0;
@@ -11339,7 +11339,7 @@ int virDomainDiskDefForeachPath(virDomainDiskDefPtr disk,
             virDomainReportError(VIR_ERR_INTERNAL_ERROR,
                                  _("unknown disk format '%s' for %s"),
                                  disk->driverType, disk->src);
-            return -1;
+            goto cleanup;
         }
     } else {
         if (allowProbing) {
@@ -11348,7 +11348,7 @@ int virDomainDiskDefForeachPath(virDomainDiskDefPtr disk,
             virDomainReportError(VIR_ERR_INTERNAL_ERROR,
                                  _("no disk format for %s and probing is disabled"),
                                  disk->src);
-            return -1;
+            goto cleanup;
         }
     }

-- 
1.7.4.4




More information about the libvir-list mailing list