Re: [PATCH] conf: Fix memory leaks in virStoragePoolDefParseSource

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/09/2012 04:01 PM, Osier Yang wrote:
On 2012年05月09日 14:15, Alex Jia wrote:
Detected by valgrind. Leaks are introduced in commit 122fa379.

src/conf/storage_conf.c: fix memory leaks.

How to reproduce?
$ make&&  make -C tests check TESTS=storagepoolxml2xmltest
$ cd tests&&  valgrind -v --leak-check=full ./storagepoolxml2xmltest

actual result:
==28571== LEAK SUMMARY:
==28571==    definitely lost: 40 bytes in 5 blocks
==28571==    indirectly lost: 0 bytes in 0 blocks
==28571==      possibly lost: 0 bytes in 0 blocks
==28571==    still reachable: 1,054 bytes in 21 blocks
==28571==         suppressed: 0 bytes in 0 blocks

Signed-off-by: Alex Jia<ajia@xxxxxxxxxx>
---
  src/conf/storage_conf.c |    1 +
  1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 0b34f28..668e679 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -462,6 +462,7 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
                      goto cleanup;
                  }
              }
+            VIR_FREE(nodeset);
          }
      }


NACK, not the right fix, "nodeset" will still be used by the 'for' loop.
Yeah, however, I originally tried to free 'nodeset' in a loop in cleanup label, it doesn't work and I still can see memory leaks, we use 'VIR_ALLOC_N()' allocate memory to 'nodeset' in virXPathNodeSet(), but I only free it by VIR_FREE().

Osier

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]