Detected by valgrind. Leaks are introduced in commit 6e6e9be. * daemon/libvirtd-config.c (macro GET_CONF_STR): fix memory leaks. How to reproduce? % make && make -C tests check TESTS=libvirtdconftest % cd tests && valgrind -v --leak-check=full ./libvirtdconftest actual result: ==11008== 185 bytes in 5 blocks are definitely lost in loss record 3 of 5 ==11008== at 0x4A05FDE: malloc (vg_replace_malloc.c:236) ==11008== by 0x39CF07F6E1: strdup (strdup.c:43) ==11008== by 0x406626: daemonConfigLoadOptions (libvirtd-config.c:438) ==11008== by 0x406800: daemonConfigLoadData (libvirtd-config.c:492) ==11008== by 0x403CCF: testCorrupt (libvirtdconftest.c:110) ==11008== by 0x404FAD: virtTestRun (testutils.c:145) ==11008== by 0x403A34: mymain (libvirtdconftest.c:219) ==11008== by 0x404687: virtTestMain (testutils.c:700) ==11008== by 0x39CF01ECDC: (below main) (libc-start.c:226) ==11008== ==11008== LEAK SUMMARY: ==11008== definitely lost: 185 bytes in 5 blocks Signed-off-by: Alex Jia <ajia@xxxxxxxxxx> --- daemon/libvirtd-config.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/daemon/libvirtd-config.c b/daemon/libvirtd-config.c index 4d041f0..0a4323a 100644 --- a/daemon/libvirtd-config.c +++ b/daemon/libvirtd-config.c @@ -152,6 +152,7 @@ checkType (virConfValuePtr p, const char *filename, virReportOOMError(); \ goto error; \ } \ + VIR_FREE(data->var_name); \ } \ } while (0) -- 1.7.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list