[libvirt] [PATCH 2/5] qemuBuildCpuCommandLine: Don't leak @buf

Peter Krempa pkrempa at redhat.com
Mon Jul 11 12:46:08 UTC 2016


On Sat, Jul 09, 2016 at 10:19:02 +0200, Michal Privoznik wrote:
> Just like every other qemuBuild*CommandLine() function, this uses
> a buffer to hold partial cmd line strings too. However, if
> there's an error, the control jumps to 'cleanup' label leaving
> the buffer behind and thus leaking it.

So basically only if qemuBuildCpuModelArgStr fails which also fills in
the data.

> 
> ==2013== 1,006 bytes in 1 blocks are definitely lost in loss record 701 of 711
> ==2013==    at 0x4C29F80: malloc (vg_replace_malloc.c:296)
> ==2013==    by 0x4C2C32F: realloc (vg_replace_malloc.c:692)
> ==2013==    by 0xAD925A8: virReallocN (viralloc.c:245)
> ==2013==    by 0xAD95EA8: virBufferGrow (virbuffer.c:130)
> ==2013==    by 0xAD95F78: virBufferAdd (virbuffer.c:165)
> ==2013==    by 0x5097F5: qemuBuildCpuModelArgStr (qemu_command.c:6339)
> ==2013==    by 0x509CC3: qemuBuildCpuCommandLine (qemu_command.c:6437)
> ==2013==    by 0x51142C: qemuBuildCommandLine (qemu_command.c:9174)
> ==2013==    by 0x47CA3A: qemuProcessCreatePretendCmd (qemu_process.c:5546)
> ==2013==    by 0x433698: testCompareXMLToArgvFiles (qemuxml2argvtest.c:332)
> ==2013==    by 0x4339AC: testCompareXMLToArgvHelper (qemuxml2argvtest.c:413)
> ==2013==    by 0x446E7A: virTestRun (testutils.c:179)
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  src/qemu/qemu_command.c | 1 +
>  1 file changed, 1 insertion(+)

ACK




More information about the libvir-list mailing list