Stefan Weil <s...@weilnetz.de> writes:
> The leak was reported by cppcheck.
>
> Function proxy_init also calls g_free for ctx->fs_root.
> Avoid reuse of this memory by setting ctx->fs_root to NULL.
>
> Signed-off-by: Stefan Weil <s...@weilnetz.de>
Reviewed-by: M. Mohan Kumar <mo...@in.ibm.com>
> ---
>
> Hi,
>
> I'm not sure whether ctx->fs_root should also be freed in the error case.
> Please feel free to modify my patch if needed.
>
> Regards
> Stefan Weil
>
> hw/9pfs/virtio-9p-proxy.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/hw/9pfs/virtio-9p-proxy.c b/hw/9pfs/virtio-9p-proxy.c
> index 8ba2959..5f44bb7 100644
> --- a/hw/9pfs/virtio-9p-proxy.c
> +++ b/hw/9pfs/virtio-9p-proxy.c
> @@ -1153,10 +1153,12 @@ static int proxy_init(FsContext *ctx)
> sock_id = atoi(ctx->fs_root);
> if (sock_id < 0) {
> fprintf(stderr, "socket descriptor not initialized\n");
> + g_free(proxy);
> return -1;
> }
> }
> g_free(ctx->fs_root);
> + ctx->fs_root = NULL;
>
> proxy->in_iovec.iov_base = g_malloc(PROXY_MAX_IO_SZ + PROXY_HDR_SZ);
> proxy->in_iovec.iov_len = PROXY_MAX_IO_SZ + PROXY_HDR_SZ;
> --
> 1.7.10.4