[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PULL 08/46] virtfs-proxy-helper: Fix possible socket lea
From: |
Michael Tokarev |
Subject: |
[Qemu-trivial] [PULL 08/46] virtfs-proxy-helper: Fix possible socket leak. |
Date: |
Tue, 10 Feb 2015 09:33:57 +0300 |
From: Gonglei <address@hidden>
Signed-off-by: Gonglei <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
fsdev/virtfs-proxy-helper.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c
index cd291d3..c1da2d7 100644
--- a/fsdev/virtfs-proxy-helper.c
+++ b/fsdev/virtfs-proxy-helper.c
@@ -749,24 +749,29 @@ static int proxy_socket(const char *path, uid_t uid,
gid_t gid)
if (bind(sock, (struct sockaddr *)&proxy,
sizeof(struct sockaddr_un)) < 0) {
do_perror("bind");
- return -1;
+ goto error;
}
if (chown(proxy.sun_path, uid, gid) < 0) {
do_perror("chown");
- return -1;
+ goto error;
}
if (listen(sock, 1) < 0) {
do_perror("listen");
- return -1;
+ goto error;
}
size = sizeof(qemu);
client = accept(sock, (struct sockaddr *)&qemu, &size);
if (client < 0) {
do_perror("accept");
- return -1;
+ goto error;
}
+ close(sock);
return client;
+
+error:
+ close(sock);
+ return -1;
}
static void usage(char *prog)
--
2.1.4
- [Qemu-trivial] [PULL 00/46] Trivial patches for 2015-02-10, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 08/46] virtfs-proxy-helper: Fix possible socket leak.,
Michael Tokarev <=
- [Qemu-trivial] [PULL 04/46] Add trace to ps2.c., Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 12/46] linux-user/syscall.c: do_ioctl_dm: Need to call unlock_user() before going to failure return in default case, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 36/46] translate-all: Use g_try_malloc() for dynamic translator buffer, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 02/46] fw_cfg: fix typos in comments: patch -> path, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 34/46] rdma: g_malloc0() can't fail, bury dead error handling, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 37/46] disas/cris: Fix warning caused by missing 'static' attribute, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 41/46] moxie: Fix warning caused by missing include statement, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 06/46] Convert some debugging printfs to trace calls in pcnet.c., Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 01/46] target-mips: Clean up switch fall through after commit fecd264, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 07/46] vl: Fix bogus error message for implied mon ID clashing, Michael Tokarev, 2015/02/10