summaryrefslogtreecommitdiffstats
path: root/recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch')
-rw-r--r--recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch b/recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch
new file mode 100644
index 00000000..1a5c4044
--- /dev/null
+++ b/recipes-security/optee-imx/optee-test/0006-regression_8100-use-null-terminated-strings-with-fil.patch
@@ -0,0 +1,88 @@
1From 7d566ed585d1e13f444d48fde5705b5be54de4af Mon Sep 17 00:00:00 2001
2From: Ricardo Salveti <ricardo@foundries.io>
3Date: Wed, 26 Jun 2019 17:32:11 -0300
4Subject: [PATCH] regression_8100: use null terminated strings with file_to_c
5
6GCC 9 is more strict with string manipulation, causing the build to
7fail as the string data converted via file_to_c is not null terminated,
8as described by the following build error:
9
10regression_8100.c:100:29: error: '%*s' directive argument is not a
11nul-terminated string [-Werror=format-overflow=]
12tlen = myasprintf(&trust, "%*s", (int)sizeof(regression_8100_ca_crt),
13 ^~~
14 regression_8100_ca_crt);
15 ~~~~~~~~~~~~~~~~~~~~~~
16
17Change file_to_c to terminate the string after conversion and update the
18string size to remove the null terminated byte. Also update
19regression_8100 to use the size variable defined via file_to_c instead
20of manually calling sizeof.
21
22Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
23Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
24---
25Signed-off-by: André Draszik <andre.draszik@jci.com>
26Upstream-Status: Backport [3.6.0]
27 host/xtest/regression_8100.c | 10 +++++-----
28 scripts/file_to_c.py | 4 ++--
29 2 files changed, 7 insertions(+), 7 deletions(-)
30
31diff --git a/host/xtest/regression_8100.c b/host/xtest/regression_8100.c
32index 04d62d9..13780e1 100644
33--- a/host/xtest/regression_8100.c
34+++ b/host/xtest/regression_8100.c
35@@ -91,13 +91,13 @@ static void test_8102(ADBG_Case_t *c)
36 return;
37
38 clen = myasprintf(&chain, "%*s\n%*s",
39- (int)sizeof(regression_8100_my_crt),
40+ (int)regression_8100_my_crt_size,
41 regression_8100_my_crt,
42- (int)sizeof(regression_8100_mid_crt),
43+ (int)regression_8100_mid_crt_size,
44 regression_8100_mid_crt);
45 if (!ADBG_EXPECT_COMPARE_SIGNED(c, clen, !=, -1))
46 goto out;
47- tlen = myasprintf(&trust, "%*s", (int)sizeof(regression_8100_ca_crt),
48+ tlen = myasprintf(&trust, "%*s", (int)regression_8100_ca_crt_size,
49 regression_8100_ca_crt);
50 if (!ADBG_EXPECT_COMPARE_SIGNED(c, tlen, !=, -1))
51 goto out;
52@@ -282,7 +282,7 @@ static void test_8103(ADBG_Case_t *c)
53 NULL, &ret_orig)))
54 return;
55
56- clen = myasprintf(&csr, "%*s", (int)sizeof(regression_8100_my_csr),
57+ clen = myasprintf(&csr, "%*s", (int)regression_8100_my_csr_size,
58 regression_8100_my_csr);
59 if (!ADBG_EXPECT_COMPARE_SIGNED(c, clen, >=, 0))
60 goto out;
61@@ -300,7 +300,7 @@ static void test_8103(ADBG_Case_t *c)
62 if (!ADBG_EXPECT_TEEC_SUCCESS(c, res))
63 goto out;
64
65- myasprintf(&ca, "%*s", (int)sizeof(regression_8100_ca_crt),
66+ myasprintf(&ca, "%*s", (int)regression_8100_ca_crt_size,
67 regression_8100_ca_crt);
68 if (!ADBG_EXPECT_NOT_NULL(c, ca))
69 goto out;
70diff --git a/scripts/file_to_c.py b/scripts/file_to_c.py
71index 83a9832..ae16f52 100755
72--- a/scripts/file_to_c.py
73+++ b/scripts/file_to_c.py
74@@ -37,9 +37,9 @@ def main():
75 else:
76 f.write(" ")
77
78- f.write("};\n")
79+ f.write("'\\0'};\n")
80 f.write("const size_t " + args.name + "_size = sizeof(" +
81- args.name + ");\n")
82+ args.name + ") - 1;\n")
83
84 f.close()
85 inf.close()
86--
872.23.0.rc1
88