[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] hw/9pfs: Fix potential memory leak and avoid re
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [PATCH] hw/9pfs: Fix potential memory leak and avoid reuse of freed memory |
Date: |
Fri, 19 Jul 2013 21:11:05 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130623 Thunderbird/17.0.7 |
Am 04.07.2013 10:53, schrieb M. Mohan Kumar:
> Stefan Weil <address@hidden> 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 <address@hidden>
> Reviewed-by: M. Mohan Kumar <address@hidden>
>> ---
>>
>> 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
Please add this patch to the qemu-trivial queue:
http://patchwork.ozlabs.org/patch/251666/
Thanks,
Stefan