0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.2.4436: crash with weird 'vartabstop' value

Problem:    Crash with weird 'vartabstop' value.
Solution:   Check for running into the end of the line.
This commit is contained in:
Bram Moolenaar 2022-02-21 19:36:12 +00:00
parent 7842761bba
commit 4e889f98e9
3 changed files with 16 additions and 0 deletions

View File

@ -1338,6 +1338,8 @@ change_indent(
new_cursor_col += (*mb_ptr2len)(ptr + new_cursor_col);
else
++new_cursor_col;
if (ptr[new_cursor_col] == NUL)
break;
vcol += lbr_chartabsize(ptr, ptr + new_cursor_col, (colnr_T)vcol);
}
vcol = last_vcol;

View File

@ -442,4 +442,16 @@ func Test_shiftwidth_vartabstop()
setlocal shiftwidth& vartabstop& tabstop&
endfunc
func Test_vartabstop_latin1()
let save_encoding = &encoding
new
set encoding=iso8859
silent norm :se 
set vartabstop=400
norm i00 
bwipe!
let &encoding = save_encoding
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4436,
/**/
4435,
/**/