From: Nehal J Wani Date: Sat, 22 Feb 2014 20:00:53 +0000 (+0530) Subject: Fix memory leak in virSCSIDeviceListDel() X-Git-Tag: v1.2.2~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=969493f91d107767d827feaa55908cd4c1bf5a2f;p=thirdparty%2Flibvirt.git Fix memory leak in virSCSIDeviceListDel() While running virscsitest, it was found that valgrind pointed out the following memory leak: ==320== 5 bytes in 1 blocks are definitely lost in loss record 4 of 37 ==320== at 0x4A069EE: malloc (vg_replace_malloc.c:270) ==320== by 0x3E6CE81171: strdup (strdup.c:43) ==320== by 0x4CB28DF: virStrdup (virstring.c:554) ==320== by 0x4CAC987: virSCSIDeviceSetUsedBy (virscsi.c:289) ==320== by 0x402321: test2 (virscsitest.c:100) ==320== by 0x403231: virtTestRun (testutils.c:199) ==320== by 0x402121: mymain (virscsitest.c:180) ==320== by 0x4039AD: virtTestMain (testutils.c:782) ==320== by 0x3E6CE1ED1C: (below main) (libc-start.c:226) ==320== Introduced by commit fd243fc. Signed-off-by: Ján Tomko --- diff --git a/src/util/virscsi.c b/src/util/virscsi.c index acc3815989..2f469f2b45 100644 --- a/src/util/virscsi.c +++ b/src/util/virscsi.c @@ -435,6 +435,7 @@ virSCSIDeviceListDel(virSCSIDeviceListPtr list, for (i = 0; i < dev->n_used_by; i++) { if (STREQ_NULLABLE(dev->used_by[i], name)) { if (dev->n_used_by > 1) { + VIR_FREE(dev->used_by[i]); VIR_DELETE_ELEMENT(dev->used_by, i, dev->n_used_by); } else { tmp = virSCSIDeviceListSteal(list, dev);