aboutsummaryrefslogtreecommitdiff
path: root/pcap-netmap.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2017-12-11 12:53:18 -0800
committerGitHub <noreply@github.com>2017-12-11 12:53:18 -0800
commitb98a97f74e9bf0a35c2e955f56c1a63812828860 (patch)
treef565050f695581fc42ab9c8a7bd65676433ac6ab /pcap-netmap.c
parent6c98384b5182d97d6effb8044f00cc755e9dcb1a (diff)
parent027843177bb678888569c71c59ba8c2664b58332 (diff)
Merge pull request #669 from mkaniewski/master
Resolve integer conversion problems.
Diffstat (limited to 'pcap-netmap.c')
-rw-r--r--pcap-netmap.c4
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__ */