[libvirt] [PATCH] Fix Memory Leak in virStorageFileGetMetadataRecurse()

Nehal J Wani nehaljw.kkd1 at gmail.com
Thu Apr 17 23:15:21 UTC 2014


While running virstoragetest, valgrind pointed out the following
memory leak:

==8142== 2 bytes in 1 blocks are definitely lost in loss record 1 of 92
==8142==    at 0x4A069EE: malloc (vg_replace_malloc.c:270)
==8142==    by 0x4E7B53E: mdir_name (dirname-lgpl.c:78)
==8142==    by 0x4CBE2B0: virStorageFileGetMetadataInternal (virstoragefile.c:595)
==8142==    by 0x4CBE651: virStorageFileGetMetadataFromFDInternal (virstoragefile.c:1086)
==8142==    by 0x4CBEEB4: virStorageFileGetMetadataRecurse (virstoragefile.c:1175)
==8142==    by 0x4CBF1DE: virStorageFileGetMetadata (virstoragefile.c:1270)
==8142==    by 0x4028AD: testStorageChain (virstoragetest.c:275)
==8142==    by 0x407B91: virtTestRun (testutils.c:201)
==8142==    by 0x4039D7: mymain (virstoragetest.c:534)
==8142==    by 0x40830D: virtTestMain (testutils.c:789)
==8142==    by 0x3E6CE1ED1C: (below main) (libc-start.c:226)

...62 times

---
 src/util/virstoragefile.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
index ea80c1d..73cfef0 100644
--- a/src/util/virstoragefile.c
+++ b/src/util/virstoragefile.c
@@ -1213,6 +1213,7 @@ virStorageFileGetMetadataRecurse(const char *path, const char *canonPath,
             meta->backingMeta = backing;
         }
     }
+    VIR_FREE(backingDirectory);
     return ret;
 }
 
-- 
1.7.1




More information about the libvir-list mailing list