summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2018-04-14 21:15:42 +0200
committerHans Dedecker <dedeckeh@gmail.com>2018-04-14 21:17:40 +0200
commitdf1625da2dd5fd0496c0c9d92490eba0cb9117f8 (patch)
tree54efd227d60fefd2d5375d62f0c216f8ce159559
parent209c5080e6dc64ee676f790eeaa65e204e978fc8 (diff)
system-linux: check ioctl return value in system_if_flags()
Detected by Coverity in CID 1433760 Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
-rw-r--r--system-linux.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/system-linux.c b/system-linux.c
index 9933201..0b594f6 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -781,7 +781,9 @@ static int system_if_flags(const char *ifname, unsigned add, unsigned rem)
memset(&ifr, 0, sizeof(ifr));
strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- ioctl(sock_ioctl, SIOCGIFFLAGS, &ifr);
+ if (ioctl(sock_ioctl, SIOCGIFFLAGS, &ifr) < 0)
+ return -1;
+
ifr.ifr_flags |= add;
ifr.ifr_flags &= ~rem;
return ioctl(sock_ioctl, SIOCSIFFLAGS, &ifr);