kexec-tools/kexec-tools-Fix-possible-out-of-bounds-access-in-ifdown.patch
2020-09-14 19:11:14 +08:00

32 lines
1.0 KiB
Diff

From 775f258fbd1895ba669be22f108faf817247a47a Mon Sep 17 00:00:00 2001
From: Helge Deller <deller@gmx.de>
Date: Tue, 1 Oct 2019 17:06:05 +0200
Subject: [PATCH] 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>
diff --git a/kexec/ifdown.c b/kexec/ifdown.c
index 9679ad7..3ac19c1 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);
--
1.8.3.1