]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
priv: avoid a socket leak when interface is already in promisc
authorVincent Bernat <vincent@bernat.im>
Wed, 9 Jul 2014 06:52:43 +0000 (08:52 +0200)
committerVincent Bernat <vincent@bernat.im>
Wed, 9 Jul 2014 06:52:43 +0000 (08:52 +0200)
src/daemon/priv-linux.c

index 62eaf4ab0d0503361b895574c2af0fbf5e162513..c5736155c607ec722e164170ce222a9b5c9d099c 100644 (file)
@@ -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;