summaryrefslogtreecommitdiff
path: root/debian/patches/0003-regex-match-crash-fix.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0003-regex-match-crash-fix.diff')
-rw-r--r--debian/patches/0003-regex-match-crash-fix.diff43
1 files changed, 43 insertions, 0 deletions
diff --git a/debian/patches/0003-regex-match-crash-fix.diff b/debian/patches/0003-regex-match-crash-fix.diff
new file mode 100644
index 000000000..d0aaa5aea
--- /dev/null
+++ b/debian/patches/0003-regex-match-crash-fix.diff
@@ -0,0 +1,43 @@
+Upstream fix. See:
+ <http://www.zsh.org/mla/workers/2011/msg00027.html>
+
+Index: pkg-zsh/Src/text.c
+===================================================================
+--- pkg-zsh.orig/Src/text.c 2011-02-20 13:20:25.000000000 +0100
++++ pkg-zsh/Src/text.c 2011-02-20 13:20:57.000000000 +0100
+@@ -785,8 +785,7 @@
+ taddstr(" ");
+ taddstr(ecgetstr(state, EC_NODUP, NULL));
+ if (ctype == COND_STREQ ||
+- ctype == COND_STRNEQ ||
+- ctype == COND_REGEX)
++ ctype == COND_STRNEQ)
+ state->pc++;
+ } else {
+ /* Unary test: `-f foo' etc. */
+Index: pkg-zsh/Test/C02cond.ztst
+===================================================================
+--- pkg-zsh.orig/Test/C02cond.ztst 2011-02-20 13:20:36.000000000 +0100
++++ pkg-zsh/Test/C02cond.ztst 2011-02-20 13:20:57.000000000 +0100
+@@ -306,6 +306,21 @@
+ 2:Error message for unknown infix condition
+ ?(eval):1: unknown condition: -fail
+
++ crashme() {
++ if [[ $1 =~ ^http:* ]]
++ then
++ url=${1#*=}
++ fi
++ }
++ which crashme
++0:Regression test for examining code with regular expression match
++>crashme () {
++> if [[ $1 =~ ^http:* ]]
++> then
++> url=${1#*=}
++> fi
++>}
++
+ %clean
+ # This works around a bug in rm -f in some versions of Cygwin
+ chmod 644 unmodish