summaryrefslogtreecommitdiffstats
path: root/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch')
-rw-r--r--meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch139
1 files changed, 139 insertions, 0 deletions
diff --git a/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch b/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch
new file mode 100644
index 000000000..e621d8f2a
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch
@@ -0,0 +1,139 @@
+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
+
OpenPOWER on IntegriCloud