diff options
Diffstat (limited to 'pcap-netmap.c')
-rw-r--r-- | pcap-netmap.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pcap-netmap.c b/pcap-netmap.c index ee8d8b3a..61c820cc 100644 --- a/pcap-netmap.c +++ b/pcap-netmap.c @@ -142,7 +142,7 @@ pcap_netmap_ioctl(pcap_t *p, u_long what, uint32_t *if_flags) strncpy(ifr.ifr_name, d->req.nr_name, sizeof(ifr.ifr_name)); switch (what) { case SIOCSIFFLAGS: - ifr.ifr_flags = *if_flags; + ifr.ifr_flags = *if_flags & 0xffff; #ifdef __FreeBSD__ ifr.ifr_flagshigh = *if_flags >> 16; #endif /* __FreeBSD__ */ @@ -152,7 +152,7 @@ pcap_netmap_ioctl(pcap_t *p, u_long what, uint32_t *if_flags) if (!error) { switch (what) { case SIOCGIFFLAGS: - *if_flags = ifr.ifr_flags; + *if_flags = ifr.ifr_flags & 0xffff; #ifdef __FreeBSD__ *if_flags |= (ifr.ifr_flagshigh << 16); #endif /* __FreeBSD__ */ |