Blame SOURCES/zsh-5.0.2-ksh-syntax-check.patch

704a93
From 3427fe59c2d76ddbf4b23908c6ae5272734c7c8b Mon Sep 17 00:00:00 2001
704a93
From: "Barton E. Schaefer" <schaefer@zsh.org>
704a93
Date: Wed, 20 May 2015 10:14:04 -0700
704a93
Subject: [PATCH] 35231: make mkevnstr() safe for NULL value
704a93
704a93
Upstream-commit: af957f2ed6287f66953742fbca69188cecb98fbf
704a93
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
704a93
---
704a93
 Src/params.c | 14 +++++++++-----
704a93
 1 file changed, 9 insertions(+), 5 deletions(-)
704a93
704a93
diff --git a/Src/params.c b/Src/params.c
704a93
index 61edc5d..d0ce0a9 100644
704a93
--- a/Src/params.c
704a93
+++ b/Src/params.c
704a93
@@ -4488,17 +4488,21 @@ addenv(Param pm, char *value)
704a93
 static char *
704a93
 mkenvstr(char *name, char *value, int flags)
704a93
 {
704a93
-    char *str, *s;
704a93
-    int len_name, len_value;
704a93
+    char *str, *s = value;
704a93
+    int len_name, len_value = 0;
704a93
 
704a93
     len_name = strlen(name);
704a93
-    for (len_value = 0, s = value;
704a93
-	 *s && (*s++ != Meta || *s++ != 32); len_value++);
704a93
+    if (s)
704a93
+	while (*s && (*s++ != Meta || *s++ != 32))
704a93
+	    len_value++;
704a93
     s = str = (char *) zalloc(len_name + len_value + 2);
704a93
     strcpy(s, name);
704a93
     s += len_name;
704a93
     *s = '=';
704a93
-    copyenvstr(s, value, flags);
704a93
+    if (value)
704a93
+	copyenvstr(s, value, flags);
704a93
+    else
704a93
+	*++s = '\0';
704a93
     return str;
704a93
 }
704a93
 
704a93
-- 
704a93
2.4.1
704a93