]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
interfaces: on OpenBSD, ensure we get a device before setting its flags
authorVincent Bernat <vincent@bernat.ch>
Wed, 22 Sep 2021 07:17:12 +0000 (09:17 +0200)
committerVincent Bernat <vincent@bernat.ch>
Wed, 22 Sep 2021 07:17:57 +0000 (09:17 +0200)
src/daemon/interfaces-bsd.c

index c8baefbb5c5063590c3e6442b1ea58456d422181..c8e466b0bf9b6b3468f68a32109ef683dc9fa730 100644 (file)
@@ -433,17 +433,16 @@ ifbsd_extract(struct lldpd *cfg,
                    "grabbing information on interface %s",
                    ifaddr->ifa_name);
                device = ifbsd_extract_device(cfg, ifaddr);
+               if (device) {
 #if defined HOST_OS_OPENBSD
-               /* On OpenBSD, the interface can have IFF_RUNNING but be down. */
-               {
+                       /* On OpenBSD, the interface can have IFF_RUNNING but be down. */
                        struct if_data *ifdata;
                        ifdata = ifaddr->ifa_data;
                        if (!LINK_STATE_IS_UP(ifdata->ifi_link_state))
                                device->flags &= ~IFF_RUNNING;
-               }
 #endif
-               if (device)
                        TAILQ_INSERT_TAIL(interfaces, device, next);
+               }
                break;
        case AF_INET:
        case AF_INET6: