forked from aniani/vim
patch 9.0.0228: crash when pattern looks below the last line
Problem: Crash when pattern looks below the last line. Solution: Consider invalid lines to be empty. (closes #10938)
This commit is contained in:
@@ -3439,12 +3439,17 @@ regmatch(
|
||||
break;
|
||||
|
||||
case RE_VCOL:
|
||||
if (!re_num_cmp((long_u)win_linetabsize(
|
||||
rex.reg_win == NULL ? curwin : rex.reg_win,
|
||||
rex.reg_firstlnum + rex.lnum,
|
||||
rex.line,
|
||||
(colnr_T)(rex.input - rex.line)) + 1, scan))
|
||||
status = RA_NOMATCH;
|
||||
{
|
||||
win_T *wp = rex.reg_win == NULL ? curwin : rex.reg_win;
|
||||
linenr_T lnum = rex.reg_firstlnum + rex.lnum;
|
||||
long_u vcol = 0;
|
||||
|
||||
if (lnum > 0 && lnum <= wp->w_buffer->b_ml.ml_line_count)
|
||||
vcol = (long_u)win_linetabsize(wp, lnum, rex.line,
|
||||
(colnr_T)(rex.input - rex.line));
|
||||
if (!re_num_cmp(vcol + 1, scan))
|
||||
status = RA_NOMATCH;
|
||||
}
|
||||
break;
|
||||
|
||||
case BOW: // \<word; rex.input points to w
|
||||
|
Reference in New Issue
Block a user