aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwatiko <service@mail.watiko.net>2016-02-17 02:22:46 +0900
committerwatiko <service@mail.watiko.net>2016-02-17 03:00:13 +0900
commitdb20edef69aa3766ff7d7845ec54a894d686f8c0 (patch)
tree50ea6fd81fef6962c6b96b92b1f5e71a53eec323
parent5af9ae9e6064eabe98ec94896211af00e86632b5 (diff)
downloadrneovim-db20edef69aa3766ff7d7845ec54a894d686f8c0.tar.gz
rneovim-db20edef69aa3766ff7d7845ec54a894d686f8c0.tar.bz2
rneovim-db20edef69aa3766ff7d7845ec54a894d686f8c0.zip
vim-patch:7.4.937
Problem: Segfault reading unitialized memory. Solution: Do not read match \z0, it does not exist. (Marius Gedminas, closes vim/vim#497) https://github.com/vim/vim/commit/5ad075c0735d3d8b97708d17c22de8facb15f997
-rw-r--r--src/nvim/regexp_nfa.c3
-rw-r--r--src/nvim/version.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/nvim/regexp_nfa.c b/src/nvim/regexp_nfa.c
index dd41535110..e2849fb17a 100644
--- a/src/nvim/regexp_nfa.c
+++ b/src/nvim/regexp_nfa.c
@@ -6180,7 +6180,8 @@ static long nfa_regtry(nfa_regprog_T *prog, colnr_T col)
if (prog->reghasz == REX_SET) {
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) {
struct multipos *mpos = &subs.synt.list.multi[i];
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 4de63ebb10..b111780504 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -351,7 +351,7 @@ static int included_patches[] = {
// 940 NA
// 939,
// 938 NA
- // 937,
+ 937,
// 936,
// 935,
// 934 NA