Message ID | 1371377676-18809-1-git-send-email-sw@weilnetz.de |
---|---|
State | Accepted |
Headers | show |
Am 16.06.2013 12:14, schrieb Stefan Weil: > 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 <sw@weilnetz.de> > --- > > 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; Ping?
Stefan Weil <sw@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 <sw@weilnetz.de> Reviewed-by: M. Mohan Kumar <mohan@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
Am 04.07.2013 10:53, schrieb M. Mohan Kumar: > Stefan Weil <sw@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 <sw@weilnetz.de> > Reviewed-by: M. Mohan Kumar <mohan@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 Please add this patch to the qemu-trivial queue: http://patchwork.ozlabs.org/patch/251666/ Thanks, Stefan
19.07.2013 23:11, Stefan Weil wrote: > Am 04.07.2013 10:53, schrieb M. Mohan Kumar: >> Stefan Weil <sw@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 <sw@weilnetz.de> >> Reviewed-by: M. Mohan Kumar <mohan@in.ibm.com> Thanks, applied to the trivial patches queue. /mjt
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;
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 <sw@weilnetz.de> --- 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(+)