From: Zhi Hui Li <zhihu...@linux.vnet.ibm.com> Signed-off-by: Li Zhi Hui <zhihu...@linux.vnet.ibm.com> Signed-off-by: Stefan Hajnoczi <stefa...@linux.vnet.ibm.com> --- net/socket.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/net/socket.c b/net/socket.c index e9ef128..0f09164 100644 --- a/net/socket.c +++ b/net/socket.c @@ -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; -- 1.7.7.3