]> code.ossystems Code Review - openembedded-core.git/commitdiff
spirv-tools: Replace strncpy with memcpy
authorKhem Raj <raj.khem@gmail.com>
Sat, 27 Feb 2021 08:18:11 +0000 (00:18 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 11 Mar 2021 15:25:53 +0000 (15:25 +0000)
Fixes warnings produced with gcc 11

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/spir/files/0001-fix-strncpy-bound-error.patch [new file with mode: 0644]
meta/recipes-graphics/spir/spirv-tools_2020.6.bb

diff --git a/meta/recipes-graphics/spir/files/0001-fix-strncpy-bound-error.patch b/meta/recipes-graphics/spir/files/0001-fix-strncpy-bound-error.patch
new file mode 100644 (file)
index 0000000..bc59faa
--- /dev/null
@@ -0,0 +1,30 @@
+From 1ba007583b83468494c4146bcb7267d863de6a7b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 26 Feb 2021 23:54:10 -0800
+Subject: [PATCH] fix strncpy bound error
+
+This patch fixes the following error while using gcc 11
+error: 'char* __builtin_strncpy(char*, const char*, long unsigned int)' specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/SPIRV-Tools/pull/4151]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ source/diagnostic.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source/diagnostic.cpp b/source/diagnostic.cpp
+index edc27c8fd..77c29d70c 100644
+--- a/source/diagnostic.cpp
++++ b/source/diagnostic.cpp
+@@ -37,7 +37,7 @@ spv_diagnostic spvDiagnosticCreate(const spv_position position,
+   diagnostic->position = *position;
+   diagnostic->isTextSource = false;
+   memset(diagnostic->error, 0, length);
+-  strncpy(diagnostic->error, message, length);
++  memcpy(diagnostic->error, message, length);
+   return diagnostic;
+ }
+-- 
+2.30.1
+
index f1fe40096ec04054a803fd37929b8d29e9a7adcc..ea89766e922b4cca1e914af984ca2acdbcaa7ba3 100644 (file)
@@ -8,7 +8,9 @@ LICENSE  = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
 
 SRCREV = "b27b1afd12d05bf238ac7368bb49de73cd620a8e"
-SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git \
+           file://0001-fix-strncpy-bound-error.patch \
+          "
 UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"