summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-05-31 20:32:34 -0700
committerKhem Raj <raj.khem@gmail.com>2018-05-31 21:53:52 -0700
commit24c24fba961e4d231bd5d7a233e11a06c41a8053 (patch)
treef8eedbd7b5ec66a958b4d93570fb8704b1892a40
parente0f7b2621a21bcec47de1fbbed3b1f1fc155a295 (diff)
downloadmeta-openembedded-24c24fba961e4d231bd5d7a233e11a06c41a8053.tar.gz
lowpan-tools: Fix build with gcc-8
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch139
-rw-r--r--meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb1
2 files changed, 140 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch b/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch
new file mode 100644
index 0000000000..e621d8f2a8
--- /dev/null
+++ b/meta-networking/recipes-support/lowpan-tools/lowpan-tools/0001-Fix-potential-string-truncation-in-strncpy.patch
@@ -0,0 +1,139 @@
1From 58b6d9a2efe101e5b80fd708e6f84c7ca779ce93 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 31 May 2018 20:27:43 -0700
4Subject: [PATCH] Fix potential string truncation in strncpy()
5
6GCC 8 complains about the string truncation during copy
7
8error: 'strncpy' specified bound 16 equals destination size
9
10Upstream-Status: Inappropriate [depricated component]
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 tests/listen-packet.c | 3 ++-
15 tests/listen.c | 3 ++-
16 tests/test2.c | 4 ++--
17 tests/test3.c | 3 ++-
18 tests/test4.c | 3 ++-
19 tests/test5.c | 3 ++-
20 tests/test6.c | 3 ++-
21 tests/test7.c | 3 ++-
22 8 files changed, 16 insertions(+), 9 deletions(-)
23
24diff --git a/tests/listen-packet.c b/tests/listen-packet.c
25index e40af81..eae0c71 100644
26--- a/tests/listen-packet.c
27+++ b/tests/listen-packet.c
28@@ -50,7 +50,8 @@ int main(int argc, char **argv) {
29 return 1;
30 }
31
32- strncpy(req.ifr_name, iface, IF_NAMESIZE);
33+ strncpy(req.ifr_name, iface, IF_NAMESIZE - 1);
34+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
35 ret = ioctl(sd, SIOCGIFINDEX, &req);
36 if (ret < 0)
37 perror("ioctl: SIOCGIFINDEX");
38diff --git a/tests/listen.c b/tests/listen.c
39index 75c320b..5ce1ed9 100644
40--- a/tests/listen.c
41+++ b/tests/listen.c
42@@ -47,7 +47,8 @@ int main(int argc, char **argv) {
43 return 1;
44 }
45
46- strncpy(req.ifr_name, iface, IFNAMSIZ);
47+ strncpy(req.ifr_name, iface, IFNAMSIZ - 1);
48+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
49 ret = ioctl(sd, SIOCGIFHWADDR, &req);
50 if (ret < 0)
51 perror("ioctl: SIOCGIFHWADDR");
52diff --git a/tests/test2.c b/tests/test2.c
53index 58eb74b..5d02838 100644
54--- a/tests/test2.c
55+++ b/tests/test2.c
56@@ -45,8 +45,8 @@ int main(int argc, char **argv) {
57 perror("socket");
58 return 1;
59 }
60-
61- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
62+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
63+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
64 ret = ioctl(sd, SIOCGIFHWADDR, &req);
65 if (ret < 0)
66 perror("ioctl: SIOCGIFHWADDR");
67diff --git a/tests/test3.c b/tests/test3.c
68index fb36627..2f50a5a 100644
69--- a/tests/test3.c
70+++ b/tests/test3.c
71@@ -46,7 +46,8 @@ int main(int argc, char **argv) {
72 return 1;
73 }
74
75- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
76+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
77+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
78 ret = ioctl(sd, SIOCGIFHWADDR, &req);
79 if (ret < 0)
80 perror("ioctl: SIOCGIFHWADDR");
81diff --git a/tests/test4.c b/tests/test4.c
82index 33c274c..8737149 100644
83--- a/tests/test4.c
84+++ b/tests/test4.c
85@@ -46,7 +46,8 @@ int main(int argc, char **argv) {
86 return 1;
87 }
88
89- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
90+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
91+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
92 ret = ioctl(sd, SIOCGIFHWADDR, &req);
93 if (ret < 0)
94 perror("ioctl: SIOCGIFHWADDR");
95diff --git a/tests/test5.c b/tests/test5.c
96index 4439dfa..28db562 100644
97--- a/tests/test5.c
98+++ b/tests/test5.c
99@@ -45,7 +45,8 @@ int main(int argc, char **argv) {
100 return 1;
101 }
102
103- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
104+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
105+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
106 ret = ioctl(sd, SIOCGIFADDR, &req);
107 if (ret < 0) {
108 perror("ioctl: SIOCGIFADDR");
109diff --git a/tests/test6.c b/tests/test6.c
110index e375bfb..ce7de59 100644
111--- a/tests/test6.c
112+++ b/tests/test6.c
113@@ -45,7 +45,8 @@ int main(int argc, char **argv) {
114 return 1;
115 }
116
117- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
118+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
119+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
120 ret = ioctl(sd, SIOCGIFADDR, &req);
121 if (ret < 0) {
122 perror("ioctl: SIOCGIFADDR");
123diff --git a/tests/test7.c b/tests/test7.c
124index e9a5a55..37da22d 100644
125--- a/tests/test7.c
126+++ b/tests/test7.c
127@@ -58,7 +58,8 @@ int main(int argc, char **argv) {
128 if (ret)
129 perror("setsockopt");
130
131- strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE);
132+ strncpy(req.ifr_name, argv[1] ?: "wpan0", IF_NAMESIZE - 1);
133+ req.ifr_name[IF_NAMESIZE - 1] = '\0';
134 ret = ioctl(sd, SIOCGIFHWADDR, &req);
135 if (ret < 0)
136 perror("ioctl: SIOCGIFHWADDR");
137--
1382.17.1
139
diff --git a/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb b/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
index d0fe59c983..b70c43f156 100644
--- a/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
+++ b/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb
@@ -15,6 +15,7 @@ SRC_URI = "git://github.com/linux-wpan/lowpan-tools \
15 file://0001-src-iz.c-Undef-dprintf-before-redefining.patch \ 15 file://0001-src-iz.c-Undef-dprintf-before-redefining.patch \
16 file://0001-Remove-newline-from-format-line.patch \ 16 file://0001-Remove-newline-from-format-line.patch \
17 file://0001-coordinator-Fix-strncpy-range-warning.patch \ 17 file://0001-coordinator-Fix-strncpy-range-warning.patch \
18 file://0001-Fix-potential-string-truncation-in-strncpy.patch \
18 " 19 "
19SRCREV = "1c2d8674cc6f4b1166a066e8822e295c105ae7a2" 20SRCREV = "1c2d8674cc6f4b1166a066e8822e295c105ae7a2"
20 21