From ecd41283aa58fdf29086d946a4db665835de19f7 Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Wed, 9 Jul 2014 08:52:43 +0200 Subject: [PATCH] priv: avoid a socket leak when interface is already in promisc --- src/daemon/priv-linux.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/daemon/priv-linux.c b/src/daemon/priv-linux.c index 62eaf4ab..c5736155 100644 --- a/src/daemon/priv-linux.c +++ b/src/daemon/priv-linux.c @@ -281,8 +281,10 @@ asroot_iface_promisc_os(const char *name) return rc; } - if (ifr.ifr_flags & IFF_PROMISC) + if (ifr.ifr_flags & IFF_PROMISC) { + close(s); return 0; + } ifr.ifr_flags |= IFF_PROMISC; if (ioctl(s, SIOCSIFFLAGS, &ifr) == -1) { rc = errno; -- 2.39.5