From 57ec8cedfcd09ba17863ffcc8084cbc17b57b045 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Tue, 2 Aug 2011 13:48:43 -0600
Subject: [PATCH] conf: avoid memory leak on disk operations

Detected by Coverity.  Leak on meta introduced in commit 85aa40e.

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

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index e182cd6159..010ce571c0 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;
         }
     }