[libvirt] [PATCH] qemuBuildHostNetStr: Don't leak @addr

Laine Stump laine at laine.org
Thu Sep 21 14:04:32 UTC 2017


On 09/21/2017 08:55 AM, Michal Privoznik wrote:
> The virSocketAddrFormat() allocates the string and it's caller
> responsibility to free it afterwards.
>
> ==28857== 11 bytes in 1 blocks are definitely lost in loss record 37 of 168
> ==28857==    at 0x4C2BEDF: malloc (vg_replace_malloc.c:299)
> ==28857==    by 0x9A81D79: strdup (in /lib64/libc-2.23.so)
> ==28857==    by 0x5DA3BF0: virStrdup (virstring.c:902)
> ==28857==    by 0x5D96182: virSocketAddrFormatFull (virsocketaddr.c:427)
> ==28857==    by 0x5D95E13: virSocketAddrFormat (virsocketaddr.c:352)
> ==28857==    by 0x5706890: qemuBuildHostNetStr (qemu_command.c:3891)
> ==28857==    by 0x57138D3: qemuBuildInterfaceCommandLine (qemu_command.c:8597)
> ==28857==    by 0x5713D6A: qemuBuildNetCommandLine (qemu_command.c:8699)
> ==28857==    by 0x57176F6: qemuBuildCommandLine (qemu_command.c:10027)
> ==28857==    by 0x5769D61: qemuProcessCreatePretendCmd (qemu_process.c:6004)
> ==28857==    by 0x4056EC: testCompareXMLToArgv (qemuxml2argvtest.c:502)
> ==28857==    by 0x41DF40: virTestRun (testutils.c:180)
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  src/qemu/qemu_command.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 9b3e3fc04..abeb24846 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -3900,6 +3900,7 @@ qemuBuildHostNetStr(virDomainNetDefPtr net,
>              if (ip->prefix)
>                  virBufferAsprintf(&buf, "/%u", ip->prefix);
>              virBufferAddChar(&buf, ',');
> +            VIR_FREE(addr);
>          }
>          break;
>  


ACK.





More information about the libvir-list mailing list