All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] hw/9pfs: Fix potential memory leak and avoid reuse of freed memory
@ 2013-06-16 10:14 Stefan Weil
  2013-07-02 20:34 ` Stefan Weil
  2013-07-04  8:53 ` M. Mohan Kumar
  0 siblings, 2 replies; 7+ messages in thread
From: Stefan Weil @ 2013-06-16 10:14 UTC (permalink / raw)
  To: Aneesh Kumar K.V, Anthony Liguori; +Cc: Stefan Weil, qemu-devel

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;
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-07-23 17:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-16 10:14 [Qemu-devel] [PATCH] hw/9pfs: Fix potential memory leak and avoid reuse of freed memory Stefan Weil
2013-07-02 20:34 ` Stefan Weil
2013-07-04  8:53 ` M. Mohan Kumar
2013-07-19 19:11   ` [Qemu-trivial] " Stefan Weil
2013-07-19 19:11     ` Stefan Weil
2013-07-23 17:09     ` [Qemu-trivial] " Michael Tokarev
2013-07-23 17:09       ` [Qemu-devel] [Qemu-trivial] " Michael Tokarev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.