summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Modules/regex.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5d8682ec8..c92a911ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-22  Peter Stephenson  <p.stephenson@samsung.com>
+
+	* 35566: Src/Modules/regex.c: didn't handle faile
+	parenthesis matches.
+
 2015-06-22  Mikael Magnusson  <mikachu@gmail.com>
 
 	* 35554: Doc/Zsh/contrib.yo: Document narrow-to-region -l and -r.
diff --git a/Src/Modules/regex.c b/Src/Modules/regex.c
index 94f523f32..16cc77f30 100644
--- a/Src/Modules/regex.c
+++ b/Src/Modules/regex.c
@@ -155,6 +155,11 @@ zcond_regex_match(char **a, int id)
 			 ++n, ++m, ++bptr, ++eptr)
 		    {
 			char buf[DIGBUFSIZE];
+			if (m->rm_so < 0 || m->rm_eo < 0) {
+			    *bptr = ztrdup("-1");
+			    *eptr = ztrdup("-1");
+			    continue;
+			}
 			ptr = lhstr;
 			leftlen = m->rm_so;
 			offs = 0;