about summary refs log tree commit diff
path: root/Src/pattern.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-03-30 22:14:22 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-03-30 22:14:22 +0000
commit7389a42d173d7d446e147f92174ddfd5609d0c0f (patch)
treec17ebc5cf8f5cbed0d1370781c9c8a21ac8fcf68 /Src/pattern.c
parentaf92f874e179bdfad66dea04532178fb82226ef9 (diff)
downloadzsh-7389a42d173d7d446e147f92174ddfd5609d0c0f.tar.gz
zsh-7389a42d173d7d446e147f92174ddfd5609d0c0f.tar.xz
zsh-7389a42d173d7d446e147f92174ddfd5609d0c0f.zip
24708: Misc/globtests, Src/pattern.c, Test/D02glob.ztst:
fix backtracking problem in (#c) pattern
Diffstat (limited to 'Src/pattern.c')
-rw-r--r--Src/pattern.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Src/pattern.c b/Src/pattern.c
index c9a93cd0e..244f40054 100644
--- a/Src/pattern.c
+++ b/Src/pattern.c
@@ -2969,9 +2969,11 @@ patmatch(Upat prog)
 		scan[P_CT_PTR].p = (unsigned char *)patinput;
 
 		if (max < 0 || cur < max) {
+		    char *patinput_thistime = patinput;
 		    scan[P_CT_CURRENT].l = cur + 1;
 		    if (patmatch(scan + P_CT_OPERAND))
 			return 1;
+		    patinput = patinput_thistime;
 		}
 		if (cur < min)
 		    return 0;