vim-patch:8.0.0374: invalid memory access when using :sc in Ex mode (#7849)

Problem:    Invalid memory access when using :sc in Ex mode. (Dominique Pelle)
Solution:   Avoid the column being negative.  Also fix a hang in Ex mode.

ba748c8a84
This commit is contained in:
KunMing Xie
2018-01-16 06:54:56 +08:00
committed by Justin M. Keyes
parent f8f7f9d5f5
commit 26251d6d06
3 changed files with 18 additions and 1 deletions

View File

@@ -3541,6 +3541,9 @@ static buf_T *do_sub(exarg_T *eap, proftime_T timeout)
getvcol(curwin, &curwin->w_cursor, &sc, NULL, NULL);
curwin->w_cursor.col = regmatch.endpos[0].col - 1;
if (curwin->w_cursor.col < 0) {
curwin->w_cursor.col = 0;
}
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &ec);
if (subflags.do_number || curwin->w_p_nu) {
int numw = number_width(curwin) + 1;