aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/nfs-utils/files/fix-a-Gcc-undefined-behavior.patch
blob: 5843ba0fb9a4cccc0e991b1f9269ca18df9722e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[PATCH] fix a Gcc undefined behavior

Upstream-Status: Pending

Calling strncpy with NULL second argument, even when the size is 0,
is undefined behavior, which leads to GCC to drop the check old
variable with NULL in following code.

https://bugzilla.yoctoproject.org/show_bug.cgi?id=6743

Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
 support/export/client.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/support/export/client.c b/support/export/client.c
index dbf47b9..a37ef69 100644
--- a/support/export/client.c
+++ b/support/export/client.c
@@ -482,8 +482,13 @@ add_name(char *old, const char *add)
 		else
 			cp = cp + strlen(cp);
 	}
-	strncpy(new, old, cp-old);
-	new[cp-old] = 0;
+
+	if (old) {
+		strncpy(new, old, cp-old);
+		new[cp-old] = 0;
+	} else
+		new[0] = 0;
+	
 	if (cp != old && !*cp)
 		strcat(new, ",");
 	strcat(new, add);
-- 
1.7.10.4