summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2019-10-01 17:06:05 +0200
committerSimon Horman <horms@verge.net.au>2019-10-03 10:10:24 +0200
commit775f258fbd1895ba669be22f108faf817247a47a (patch)
treed857133ded8ea713750a22cb896f3d5d2ffc2010
parent470d5c445e11dfa8443a5bc1d7dd5788f5fc5dd2 (diff)
downloadkexec-tools-775f258fbd1895ba669be22f108faf817247a47a.tar.gz
kexec-tools: Fix possible out-of-bounds access in ifdown
Fix a possible out-of-bounds access in function ifdown(): ifdown.c: In function 'ifdown': ifdown.c:56:4: warning: 'strncpy' specified bound 16 equals destination size [-Wstringop-truncation] 56 | strncpy(ifr.ifr_name, ifp->if_name, IFNAMSIZ); Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r--kexec/ifdown.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kexec/ifdown.c b/kexec/ifdown.c
index 9679ad75..3ac19c1a 100644
--- a/kexec/ifdown.c
+++ b/kexec/ifdown.c
@@ -53,7 +53,8 @@ int ifdown(void)
if (strchr(ifp->if_name, ':') != NULL)
continue;
- strncpy(ifr.ifr_name, ifp->if_name, IFNAMSIZ);
+ strncpy(ifr.ifr_name, ifp->if_name, IFNAMSIZ-1);
+ ifr.ifr_name[IFNAMSIZ-1] = 0;
if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
fprintf(stderr, "ifdown: shutdown ");
perror(ifp->if_name);