]> git.proxmox.com Git - mirror_qemu.git/commitdiff
net/socket.c : fix memory leak
authorZhi Hui Li <zhihuili@linux.vnet.ibm.com>
Thu, 24 Nov 2011 08:23:00 +0000 (16:23 +0800)
committerStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Tue, 6 Dec 2011 09:56:41 +0000 (09:56 +0000)
Signed-off-by: Li Zhi Hui <zhihuili@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
net/socket.c

index e9ef12877f18ae21dddcbd29c89d36bea7a3dfd2..0f091645ed901e9c4d41c4405a483652e5a7f1b0 100644 (file)
@@ -409,6 +409,7 @@ static int net_socket_listen_init(VLANState *vlan,
     fd = qemu_socket(PF_INET, SOCK_STREAM, 0);
     if (fd < 0) {
         perror("socket");
+        g_free(s);
         return -1;
     }
     socket_set_nonblock(fd);
@@ -420,11 +421,13 @@ static int net_socket_listen_init(VLANState *vlan,
     ret = bind(fd, (struct sockaddr *)&saddr, sizeof(saddr));
     if (ret < 0) {
         perror("bind");
+        g_free(s);
         return -1;
     }
     ret = listen(fd, 0);
     if (ret < 0) {
         perror("listen");
+        g_free(s);
         return -1;
     }
     s->vlan = vlan;