[libvirt] [PATCH 3/4] Resolve valgrind error in remoteConfigGetStringList()

Laine Stump laine at laine.org
Sat Jun 29 02:44:59 UTC 2013


On 06/28/2013 03:25 PM, John Ferlan wrote:
> Commit id 'ed3bac71' introduced the following:
>
> TEST: libvirtdconftest
>       ........................................ 40  OK
> ==25875== 690 (480 direct, 210 indirect) bytes in 30 blocks are definitely lost in loss record 18 of 24
> ==25875==    at 0x4A06B6F: calloc (vg_replace_malloc.c:593)
> ==25875==    by 0x4C737DF: virAllocN (viralloc.c:152)
> ==25875==    by 0x403BC8: remoteConfigGetStringList (libvirtd-config.c:74)
> ==25875==    by 0x4042CF: daemonConfigLoadOptions (libvirtd-config.c:382)
> ==25875==    by 0x4052F5: daemonConfigLoadData (libvirtd-config.c:479)
> ==25875==    by 0x40222C: testCorrupt (libvirtdconftest.c:112)
> ==25875==    by 0x40321F: virtTestRun (testutils.c:158)
> ==25875==    by 0x401FEE: mymain (libvirtdconftest.c:228)
> ==25875==    by 0x40385A: virtTestMain (testutils.c:722)
> ==25875==    by 0x37C1021A04: (below main) (libc-start.c:225)
> ==25875==
> PASS: libvirtdconftest
> ---
>  daemon/libvirtd-config.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/daemon/libvirtd-config.c b/daemon/libvirtd-config.c
> index 6f60256..017d470 100644
> --- a/daemon/libvirtd-config.c
> +++ b/daemon/libvirtd-config.c
> @@ -316,6 +316,12 @@ daemonConfigFree(struct daemonConfig *data)
>      VIR_FREE(data->listen_addr);
>      VIR_FREE(data->tls_port);
>      VIR_FREE(data->tcp_port);
> +    tmp = data->access_drivers;
> +    while (tmp && *tmp) {
> +        VIR_FREE(*tmp);
> +        tmp++;
> +    }
> +    VIR_FREE(data->access_drivers);
>  
>      VIR_FREE(data->unix_sock_ro_perms);
>      VIR_FREE(data->unix_sock_rw_perms);


ACK.




More information about the libvir-list mailing list