From: Vincent Bernat Date: Wed, 9 Jul 2014 06:52:43 +0000 (+0200) Subject: priv: avoid a socket leak when interface is already in promisc X-Git-Tag: 0.7.10~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ecd41283aa58fdf29086d946a4db665835de19f7;p=thirdparty%2Flldpd.git priv: avoid a socket leak when interface is already in promisc --- 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;