diff options
| author | Joseph Mingrone <jrm@FreeBSD.org> | 2026-01-07 12:56:48 -0400 |
|---|---|---|
| committer | Joseph Mingrone <jrm@FreeBSD.org> | 2026-01-07 12:56:48 -0400 |
| commit | 0a1fbf4c244d5cfb242d3d7b146fea2ee676d46d (patch) | |
| tree | 603f2cb82ae91e7dfc1174391a1f096db62827bf /fad-getad.c | |
| parent | 025be3f592b920ff0a3e602e5aa8b60a34e5e617 (diff) | |
Import libpcap 1.10.6vendor/libpcap/1.10.6vendor/libpcap
Diffstat (limited to 'fad-getad.c')
| -rw-r--r-- | fad-getad.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/fad-getad.c b/fad-getad.c index 0df567c447ee..0b2d7ed987c8 100644 --- a/fad-getad.c +++ b/fad-getad.c @@ -162,7 +162,7 @@ pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char *errbuf, { struct ifaddrs *ifap, *ifa; struct sockaddr *addr, *netmask, *broadaddr, *dstaddr; - size_t addr_size, broadaddr_size, dstaddr_size; + size_t addr_size, netmask_size, broadaddr_size, dstaddr_size; int ret = 0; char *p, *q; @@ -235,11 +235,18 @@ pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char *errbuf, if (ifa->ifa_addr != NULL) { addr = ifa->ifa_addr; addr_size = SA_LEN(addr); - netmask = ifa->ifa_netmask; + if (ifa->ifa_netmask != NULL) { + netmask = ifa->ifa_netmask; + netmask_size = SA_LEN(ifa->ifa_netmask); + } else { + netmask = NULL; + netmask_size = 0; + } } else { addr = NULL; addr_size = 0; netmask = NULL; + netmask_size = 0; } /* @@ -279,7 +286,7 @@ pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char *errbuf, */ if (pcapint_add_addr_to_if(devlistp, ifa->ifa_name, ifa->ifa_flags, get_flags_func, - addr, addr_size, netmask, addr_size, + addr, addr_size, netmask, netmask_size, broadaddr, broadaddr_size, dstaddr, dstaddr_size, errbuf) < 0) { ret = -1; |
