[libvirt] [PATCH 2/3] tools: Fix memory leak

John Ferlan jferlan at redhat.com
Thu Apr 14 14:42:31 UTC 2016


Coverity found that commit id 'c661b675f' needed to create a cleanup
path to handle the closing of 'fp' if the virBitmapNewQuiet failed.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 tools/virt-host-validate-common.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/virt-host-validate-common.c b/tools/virt-host-validate-common.c
index e182d0c..c476c95 100644
--- a/tools/virt-host-validate-common.c
+++ b/tools/virt-host-validate-common.c
@@ -194,13 +194,13 @@ int virHostValidateNamespace(const char *hvname,
 virBitmapPtr virHostValidateGetCPUFlags(void)
 {
     FILE *fp;
-    virBitmapPtr flags;
+    virBitmapPtr flags = NULL;
 
     if (!(fp = fopen("/proc/cpuinfo", "r")))
         return NULL;
 
     if (!(flags = virBitmapNewQuiet(VIR_HOST_VALIDATE_CPU_FLAG_LAST)))
-        return NULL;
+        goto cleanup;
 
     do {
         char line[1024];
@@ -246,6 +246,7 @@ virBitmapPtr virHostValidateGetCPUFlags(void)
         virStringFreeListCount(tokens, ntokens);
     } while (1);
 
+ cleanup:
     VIR_FORCE_FCLOSE(fp);
 
     return flags;
-- 
2.5.5




More information about the libvir-list mailing list