# HG changeset patch # User Christian Brabandt # Date 1518536705 -3600 # Node ID a90bc1e28cbbbfb47f52344cd209d3648c43547e # Parent 546b2a354d13b8349fa4d5921ef164cf54edec06 patch 8.0.1517: invalid memory acces with pattern using look-behind match commit https://github.com/vim/vim/commit/bc197195b097707d08fd44a476dbc374366504cb Author: Bram Moolenaar Date: Tue Feb 13 16:35:06 2018 +0100 patch 8.0.1517: invalid memory acces with pattern using look-behind match Problem: Invalid memory acces with pattern using look-behind match. (Dominique Pelle) Solution: Get a pointer to the right line. diff --git a/src/regexp.c b/src/regexp.c --- a/src/regexp.c +++ b/src/regexp.c @@ -5585,9 +5585,14 @@ regmatch( { #ifdef FEAT_MBYTE if (has_mbyte) + { + char_u *line = + reg_getline(behind_pos.rs_u.pos.lnum); + rp->rs_un.regsave.rs_u.pos.col -= - (*mb_head_off)(regline, regline + (*mb_head_off)(line, line + rp->rs_un.regsave.rs_u.pos.col - 1) + 1; + } else #endif --rp->rs_un.regsave.rs_u.pos.col; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1517, +/**/ 1516, /**/ 1515,