summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-11-11 13:04:02 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2019-11-11 13:04:21 -0800
commitb3b1e95ca1de55cef8fa04b165c48b2178bb545d (patch)
tree3642dc2220d0d617a3aa24520a907503f583ea10
parent517b54231a05dfbe296f0ed55fdade0e2fac008e (diff)
downloadgnulib-b3b1e95ca1de55cef8fa04b165c48b2178bb545d.tar.gz
autoupdate
-rwxr-xr-xbuild-aux/ar-lib4
-rwxr-xr-xbuild-aux/compile4
-rw-r--r--lib/regexec.c7
3 files changed, 9 insertions, 6 deletions
diff --git a/build-aux/ar-lib b/build-aux/ar-lib
index f64465e4f4..be8806a2fe 100755
--- a/build-aux/ar-lib
+++ b/build-aux/ar-lib
@@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
- CYGWIN*)
+ CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
@@ -65,7 +65,7 @@ func_file_conv ()
mingw)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin)
+ cygwin | msys)
file=`cygpath -m "$file" || echo "$file"`
;;
wine)
diff --git a/build-aux/compile b/build-aux/compile
index d23d320dd1..be68b4b287 100755
--- a/build-aux/compile
+++ b/build-aux/compile
@@ -53,7 +53,7 @@ func_file_conv ()
MINGW*)
file_conv=mingw
;;
- CYGWIN*)
+ CYGWIN* | MSYS*)
file_conv=cygwin
;;
*)
@@ -67,7 +67,7 @@ func_file_conv ()
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
- cygwin/*)
+ cygwin/* | msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
diff --git a/lib/regexec.c b/lib/regexec.c
index 3c46ac81dd..38b6d6719a 100644
--- a/lib/regexec.c
+++ b/lib/regexec.c
@@ -1266,10 +1266,13 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
if (type == OP_BACK_REF)
{
Idx subexp_idx = dfa->nodes[node].opr.idx + 1;
- naccepted = regs[subexp_idx].rm_eo - regs[subexp_idx].rm_so;
+ if (subexp_idx < nregs)
+ naccepted = regs[subexp_idx].rm_eo - regs[subexp_idx].rm_so;
if (fs != NULL)
{
- if (regs[subexp_idx].rm_so == -1 || regs[subexp_idx].rm_eo == -1)
+ if (subexp_idx >= nregs
+ || regs[subexp_idx].rm_so == -1
+ || regs[subexp_idx].rm_eo == -1)
return -1;
else if (naccepted)
{