[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PULL 22/23] tap: fix possible fd leak in net_init_tap
From: |
Michael Tokarev |
Subject: |
[Qemu-trivial] [PULL 22/23] tap: fix possible fd leak in net_init_tap |
Date: |
Sun, 2 Nov 2014 14:57:34 +0300 |
From: Gonglei <address@hidden>
In hotplugging scenario, taking those true branch, the file
handler do not be closed. Let's close them before return.
Signed-off-by: Gonglei <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
net/tap.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/tap.c b/net/tap.c
index 7bcd4c7..bde6b58 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -796,6 +796,7 @@ int net_init_tap(const NetClientOptions *opts, const char
*name,
if (net_init_tap_one(tap, peer, "bridge", name, ifname,
script, downscript, vhostfdname,
vnet_hdr, fd)) {
+ close(fd);
return -1;
}
} else {
@@ -823,6 +824,7 @@ int net_init_tap(const NetClientOptions *opts, const char
*name,
if (queues > 1 && i == 0 && !tap->has_ifname) {
if (tap_fd_get_ifname(fd, ifname)) {
error_report("Fail to get ifname");
+ close(fd);
return -1;
}
}
@@ -831,6 +833,7 @@ int net_init_tap(const NetClientOptions *opts, const char
*name,
i >= 1 ? "no" : script,
i >= 1 ? "no" : downscript,
vhostfdname, vnet_hdr, fd)) {
+ close(fd);
return -1;
}
}
--
1.7.10.4
- [Qemu-trivial] [PULL 04/23] target-xtensa: mark XtensaConfig structs as unused, (continued)
- [Qemu-trivial] [PULL 04/23] target-xtensa: mark XtensaConfig structs as unused, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 17/23] pidfile: stop making pidfile error a special case, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 12/23] virtio-9p-proxy: fix error return in proxy_init(), Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 07/23] util: Improve os_mem_prealloc error message, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 05/23] target-arm: A64: remove redundant store, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 06/23] sparse: fix build, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 08/23] Revert "os-posix: report error message when lock file failed", Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 23/23] vdi: wrapped uuid_unparse() in #ifdef, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 09/23] net/slirp: specify logbase for smbd, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 15/23] os-posix: use global daemon_pipe instead of cryptic fds[1], Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 22/23] tap: fix possible fd leak in net_init_tap,
Michael Tokarev <=
- [Qemu-trivial] [PULL 13/23] virtio-9p-proxy: improve error messages in connect_namedsocket(), Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 21/23] tap: do not close(fd) in net_init_tap_one, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 18/23] os-posix: reorder parent notification for -daemonize, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 10/23] target-tricore: check return value before using it, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 20/23] target-i386: Remove unused model_features_t struct, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 19/23] tap_int.h: remove repeating NETWORK_SCRIPT defines, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 16/23] os-posix: replace goto again with a proper loop, Michael Tokarev, 2014/11/02
- [Qemu-trivial] [PULL 14/23] dump: Fix dump-guest-memory termination and use-after-close, Michael Tokarev, 2014/11/02
- Re: [Qemu-trivial] [Qemu-devel] [PULL 00/23] Trivial patches for 2014-11-02, Peter Maydell, 2014/11/03