
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@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@redhat.com>