diff options
author | Khem Raj <raj.khem@gmail.com> | 2018-05-31 20:32:34 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2018-05-31 21:53:52 -0700 |
commit | 24c24fba961e4d231bd5d7a233e11a06c41a8053 (patch) | |
tree | f8eedbd7b5ec66a958b4d93570fb8704b1892a40 | |
parent | e0f7b2621a21bcec47de1fbbed3b1f1fc155a295 (diff) | |
download | meta-openembedded-24c24fba961e4d231bd5d7a233e11a06c41a8053.tar.gz |
lowpan-tools: Fix build with gcc-8
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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 @@ | |||
1 | From 58b6d9a2efe101e5b80fd708e6f84c7ca779ce93 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 31 May 2018 20:27:43 -0700 | ||
4 | Subject: [PATCH] Fix potential string truncation in strncpy() | ||
5 | |||
6 | GCC 8 complains about the string truncation during copy | ||
7 | |||
8 | error: 'strncpy' specified bound 16 equals destination size | ||
9 | |||
10 | Upstream-Status: Inappropriate [depricated component] | ||
11 | |||
12 | Signed-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 | |||
24 | diff --git a/tests/listen-packet.c b/tests/listen-packet.c | ||
25 | index 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"); | ||
38 | diff --git a/tests/listen.c b/tests/listen.c | ||
39 | index 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"); | ||
52 | diff --git a/tests/test2.c b/tests/test2.c | ||
53 | index 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"); | ||
67 | diff --git a/tests/test3.c b/tests/test3.c | ||
68 | index 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"); | ||
81 | diff --git a/tests/test4.c b/tests/test4.c | ||
82 | index 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"); | ||
95 | diff --git a/tests/test5.c b/tests/test5.c | ||
96 | index 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"); | ||
109 | diff --git a/tests/test6.c b/tests/test6.c | ||
110 | index 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"); | ||
123 | diff --git a/tests/test7.c b/tests/test7.c | ||
124 | index 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 | -- | ||
138 | 2.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 | " |
19 | SRCREV = "1c2d8674cc6f4b1166a066e8822e295c105ae7a2" | 20 | SRCREV = "1c2d8674cc6f4b1166a066e8822e295c105ae7a2" |
20 | 21 | ||