diff options
Diffstat (limited to 'debian/patches/0003-regex-match-crash-fix.diff')
-rw-r--r-- | debian/patches/0003-regex-match-crash-fix.diff | 43 |
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 |