From 724b3efd39c86d66df217aadb9aabd4352a96447 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: May 22 2015 12:50:43 +0000 Subject: Resolves: #1222867 - fix SIGSEGV of the syntax check in ksh emulation mode --- diff --git a/zsh-5.0.7-ksh-syntax-check.patch b/zsh-5.0.7-ksh-syntax-check.patch new file mode 100644 index 0000000..af51ba0 --- /dev/null +++ b/zsh-5.0.7-ksh-syntax-check.patch @@ -0,0 +1,45 @@ +From 3427fe59c2d76ddbf4b23908c6ae5272734c7c8b Mon Sep 17 00:00:00 2001 +From: "Barton E. Schaefer" +Date: Wed, 20 May 2015 10:14:04 -0700 +Subject: [PATCH] 35231: make mkevnstr() safe for NULL value + +Upstream-commit: af957f2ed6287f66953742fbca69188cecb98fbf +Signed-off-by: Kamil Dudka +--- + Src/params.c | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/Src/params.c b/Src/params.c +index 61edc5d..d0ce0a9 100644 +--- a/Src/params.c ++++ b/Src/params.c +@@ -4534,17 +4534,21 @@ addenv(Param pm, char *value) + static char * + mkenvstr(char *name, char *value, int flags) + { +- char *str, *s; +- int len_name, len_value; ++ char *str, *s = value; ++ int len_name, len_value = 0; + + len_name = strlen(name); +- for (len_value = 0, s = value; +- *s && (*s++ != Meta || *s++ != 32); len_value++); ++ if (s) ++ while (*s && (*s++ != Meta || *s++ != 32)) ++ len_value++; + s = str = (char *) zalloc(len_name + len_value + 2); + strcpy(s, name); + s += len_name; + *s = '='; +- copyenvstr(s, value, flags); ++ if (value) ++ copyenvstr(s, value, flags); ++ else ++ *++s = '\0'; + return str; + } + +-- +2.4.1 + diff --git a/zsh.spec b/zsh.spec index fdfc84e..51cf1f4 100644 --- a/zsh.spec +++ b/zsh.spec @@ -3,7 +3,7 @@ Summary: Powerful interactive shell Name: zsh Version: 5.0.7 -Release: 7%{?dist} +Release: 8%{?dist} License: MIT URL: http://zsh.sourceforge.net/ Group: System Environment/Shells @@ -38,6 +38,9 @@ Patch10: zsh-5.0.7-signal-safety.patch # improve signal name generation (prevents Test/C03traps.ztst from failing) Patch11: zsh-5.0.7-signal-name.patch +# fix SIGSEGV of the syntax check in ksh emulation mode (#1222867) +Patch12: zsh-5.0.7-ksh-syntax-check.patch + BuildRequires: coreutils sed ncurses-devel libcap-devel BuildRequires: texinfo texi2html gawk hostname Requires(post): info grep @@ -80,6 +83,7 @@ This package contains the Zsh manual in html format. %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch12 -p1 cp -p %SOURCE7 . @@ -197,6 +201,9 @@ fi %doc Doc/*.html %changelog +* Fri May 22 2015 Kamil Dudka - 5.0.7-8 +- fix SIGSEGV of the syntax check in ksh emulation mode (#1222867) + * Mon Apr 20 2015 Kamil Dudka - 5.0.7-7 - fix SIGSEGV when handling heredocs and keyboard interrupt (#972624) - queue signals when manipulating global state to avoid deadlock