summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch')
-rw-r--r--meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch b/meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch
new file mode 100644
index 0000000000..57970824f6
--- /dev/null
+++ b/meta/recipes-devtools/make/make/0001-src-dir.c-fix-buffer-overflow-warning.patch
@@ -0,0 +1,41 @@
+From cd7091a7d88306004ca98c5dafcc40f44589b105 Mon Sep 17 00:00:00 2001
+From: Jens Rehsack <sno@netbsd.org>
+Date: Mon, 24 Feb 2020 10:52:21 +0100
+Subject: [PATCH 1/3] src/dir.c: fix buffer-overflow warning
+
+Fix compiler warning:
+ src/dir.c:1294:7: warning: 'strncpy' specified bound depends on the
+ length of the source argument [-Wstringop-overflow=]
+
+The existing code assumes `path` will never exceed `MAXPATHLEN`. Also the
+size of the buffer is increased by 1 to hold a path with the length of
+`MAXPATHLEN` and trailing `0`.
+
+Signed-off-by: Jens Rehsack <sno@netbsd.org>
+---
+Upstream-Status: Pending (https://savannah.gnu.org/bugs/?57888)
+
+ src/dir.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/dir.c b/src/dir.c
+index 862a18e..cad4c4a 100644
+--- a/src/dir.c
++++ b/src/dir.c
+@@ -1289,10 +1289,10 @@ local_stat (const char *path, struct stat *buf)
+ if (plen > 1 && path[plen - 1] == '.'
+ && (path[plen - 2] == '/' || path[plen - 2] == '\\'))
+ {
+- char parent[MAXPATHLEN];
++ char parent[MAXPATHLEN+1];
+
+- strncpy (parent, path, plen - 2);
+- parent[plen - 2] = '\0';
++ strncpy (parent, path, MAXPATHLEN);
++ parent[MIN(plen - 2, MAXPATHLEN)] = '\0';
+ if (stat (parent, buf) < 0 || !_S_ISDIR (buf->st_mode))
+ return -1;
+ }
+--
+2.17.1
+