]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
cpu_unregister_map_client: fix memory leak.
authorIsaku Yamahata <yamahata@valinux.co.jp>
Fri, 26 Jun 2009 09:57:18 +0000 (18:57 +0900)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 10 Jul 2009 22:15:03 +0000 (17:15 -0500)
fix memory leak in cpu_unregister_map_client() and cpu_notify_map_clients().

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
exec.c

diff --git a/exec.c b/exec.c
index 61a55325ef8c0257eff5374903bd89a1248e2c9b..9bd84b46b63a33f876e8d04249f3bdaec8741bbc 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -3110,6 +3110,7 @@ void cpu_unregister_map_client(void *_client)
     MapClient *client = (MapClient *)_client;
 
     LIST_REMOVE(client, link);
+    qemu_free(client);
 }
 
 static void cpu_notify_map_clients(void)
@@ -3119,7 +3120,7 @@ static void cpu_notify_map_clients(void)
     while (!LIST_EMPTY(&map_client_list)) {
         client = LIST_FIRST(&map_client_list);
         client->callback(client->opaque);
-        LIST_REMOVE(client, link);
+        cpu_unregister_map_client(client);
     }
 }