blob: e621d8f2a8bee8ef95bb11be89bf1cfae63f1b37 [file] [log] [blame]
From 58b6d9a2efe101e5b80fd708e6f84c7ca779ce93 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 May 2018 20:27:43 -0700
Subject: [PATCH] Fix potential string truncation in strncpy()
GCC 8 complains about the string truncation during copy
error: 'strncpy' specified bound 16 equals destination size
Upstream-Status: Inappropriate [depricated component]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tests/listen-packet.c | 3 ++-
tests/listen.c | 3 ++-
tests/test2.c | 4 ++--
tests/test3.c | 3 ++-
tests/test4.c | 3 ++-
tests/test5.c | 3 ++-
tests/test6.c | 3 ++-
tests/test7.c | 3 ++-
8 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/tests/listen-packet.c b/tests/listen-packet.c
index e40af81..eae0c71 100644
--- a/tests/listen-packet.c
+++ b/tests/listen-packet.c
@@ -50,7 +50,8 @@ int main(int argc, char **argv) {
return 1;
}
- strncpy(req.ifr_name, iface, IF_NAMESIZE);
+ strncpy(req.ifr_name, iface, IF_NAMESIZE - 1);
+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
ret = ioctl(sd, SIOCGIFINDEX, &req);
if (ret < 0)
perror("ioctl: SIOCGIFINDEX");
diff --git a/tests/listen.c b/tests/listen.c
index 75c320b..5ce1ed9 100644
--- a/tests/listen.c
+++ b/tests/listen.c
@@ -47,7 +47,8 @@ int main(int argc, char **argv) {
return 1;
}
- strncpy(req.ifr_name, iface, IFNAMSIZ);
+ strncpy(req.ifr_name, iface, IFNAMSIZ - 1);
+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
ret = ioctl(sd, SIOCGIFHWADDR, &req);
if (ret < 0)
perror("ioctl: SIOCGIFHWADDR");
diff --git a/tests/test2.c b/tests/test2.c
index 58eb74b..5d02838 100644
--- a/tests/test2.c
+++ b/tests/test2.c
@@ -45,8 +45,8 @@ int main(int argc, char **argv) {
perror("socket");
return 1;
}
-
- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
ret = ioctl(sd, SIOCGIFHWADDR, &req);
if (ret < 0)
perror("ioctl: SIOCGIFHWADDR");
diff --git a/tests/test3.c b/tests/test3.c
index fb36627..2f50a5a 100644
--- a/tests/test3.c
+++ b/tests/test3.c
@@ -46,7 +46,8 @@ int main(int argc, char **argv) {
return 1;
}
- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
ret = ioctl(sd, SIOCGIFHWADDR, &req);
if (ret < 0)
perror("ioctl: SIOCGIFHWADDR");
diff --git a/tests/test4.c b/tests/test4.c
index 33c274c..8737149 100644
--- a/tests/test4.c
+++ b/tests/test4.c
@@ -46,7 +46,8 @@ int main(int argc, char **argv) {
return 1;
}
- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
ret = ioctl(sd, SIOCGIFHWADDR, &req);
if (ret < 0)
perror("ioctl: SIOCGIFHWADDR");
diff --git a/tests/test5.c b/tests/test5.c
index 4439dfa..28db562 100644
--- a/tests/test5.c
+++ b/tests/test5.c
@@ -45,7 +45,8 @@ int main(int argc, char **argv) {
return 1;
}
- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
ret = ioctl(sd, SIOCGIFADDR, &req);
if (ret < 0) {
perror("ioctl: SIOCGIFADDR");
diff --git a/tests/test6.c b/tests/test6.c
index e375bfb..ce7de59 100644
--- a/tests/test6.c
+++ b/tests/test6.c
@@ -45,7 +45,8 @@ int main(int argc, char **argv) {
return 1;
}
- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
ret = ioctl(sd, SIOCGIFADDR, &req);
if (ret < 0) {
perror("ioctl: SIOCGIFADDR");
diff --git a/tests/test7.c b/tests/test7.c
index e9a5a55..37da22d 100644
--- a/tests/test7.c
+++ b/tests/test7.c
@@ -58,7 +58,8 @@ int main(int argc, char **argv) {
if (ret)
perror("setsockopt");
- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
ret = ioctl(sd, SIOCGIFHWADDR, &req);
if (ret < 0)
perror("ioctl: SIOCGIFHWADDR");
--
2.17.1