From 5ad075c0735d3d8b97708d17c22de8facb15f997 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 24 Nov 2015 15:18:32 +0100 Subject: [PATCH] patch 7.4.937 Problem: Segfault reading unitialized memory. Solution: Do not read match \z0, it does not exist. (Marius Gedminas, closes #497) --- src/regexp_nfa.c | 3 ++- src/version.c | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c index a21c3c03f8..32108bee4c 100644 --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -6947,7 +6947,8 @@ nfa_regtry(prog, col, tm) { cleanup_zsubexpr(); re_extmatch_out = make_extmatch(); - for (i = 0; i < subs.synt.in_use; i++) + /* Loop over \z1, \z2, etc. There is no \z0. */ + for (i = 1; i < subs.synt.in_use; i++) { if (REG_MULTI) { diff --git a/src/version.c b/src/version.c index 9f0cfbf6a3..82e5f350d1 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 937, /**/ 936, /**/