On Wed, Jul 25, 2018 at 03:02:10PM +0200, Michal Privoznik wrote:
The individual strings are freed, but the array is never freed.
8 bytes in 1 blocks are definitely lost in loss record 28 of 1,098
at 0x4C2CE3F: malloc (vg_replace_malloc.c:298)
by 0x4C2F1BF: realloc (vg_replace_malloc.c:785)
by 0x52C9C92: virReallocN (viralloc.c:245)
by 0x52C9D88: virExpandN (viralloc.c:294)
by 0x23414D99: virLXCProcessSetupInterfaces (lxc_process.c:552)
by 0x23417457: virLXCProcessStart (lxc_process.c:1356)
by 0x2341F71C: lxcDomainCreateWithFiles (lxc_driver.c:1088)
by 0x2341F805: lxcDomainCreate (lxc_driver.c:1123)
by 0x55917EB: virDomainCreate (libvirt-domain.c:6534)
by 0x1367D1: remoteDispatchDomainCreate (remote_daemon_dispatch_stubs.h:4434)
by 0x1366EA: remoteDispatchDomainCreateHelper (remote_daemon_dispatch_stubs.h:4410)
by 0x546FDF1: virNetServerProgramDispatchCall (virnetserverprogram.c:437)
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/lxc/lxc_process.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 14502e12fe..3e44da1aaf 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -1559,6 +1559,7 @@ int virLXCProcessStart(virConnectPtr conn,
virCommandFree(cmd);
for (i = 0; i < nveths; i++)
VIR_FREE(veths[i]);
+ VIR_FREE(veths);
Hmm, I'll use this patch to promote the recent (ongoing) work on
__attribute__(cleanup), would you mind converting veths into a NULL-terminated
list so that we could use VIR_AUTOPTR(virString) veths = NULL and thus drop the
manual cleanup? Bonus points if you add a follow-up patch.
Reviewed-by: Erik Skultety <eskultet(a)redhat.com>