# HG changeset patch # User Bram Moolenaar # Date 1571489104 -7200 # Node ID 7b4d9e1377ee2b02427484a562fff708af2edc84 # Parent fe4dd24be6a262ad9fb82160a441066eef2f9989 patch 8.1.2178: accessing uninitialized memory in test Commit: https://github.com/vim/vim/commit/15ee567809a9808693163dd7c357ef0c172ecc9e Author: Bram Moolenaar Date: Sat Oct 19 14:35:02 2019 +0200 patch 8.1.2178: accessing uninitialized memory in test Problem: Accessing uninitialized memory in test. Solution: Check if there was a match before using the match position. (Dominique Pelle, closes #5088) diff --git a/src/search.c b/src/search.c --- a/src/search.c +++ b/src/search.c @@ -4877,7 +4877,7 @@ is_one_char(char_u *pattern, int move, p regmatch.startpos[0].col++; nmatched = vim_regexec_multi(®match, curwin, curbuf, pos.lnum, regmatch.startpos[0].col, NULL, NULL); - if (!nmatched) + if (nmatched != 0) break; } while (direction == FORWARD ? regmatch.startpos[0].col < pos.col : regmatch.startpos[0].col > pos.col); @@ -4887,8 +4887,9 @@ is_one_char(char_u *pattern, int move, p result = (nmatched != 0 && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum && regmatch.startpos[0].col == regmatch.endpos[0].col); - /* one char width */ - if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col) + // one char width + if (!result && nmatched != 0 + && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col) result = TRUE; } } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2178, +/**/ 2177, /**/ 2176,