1
0
forked from aniani/vim

patch 8.0.1416: crash when searching for a sentence

Problem:    Crash when searching for a sentence.
Solution:   Return NUL when getting character at MAXCOL. (closes #2468)
This commit is contained in:
Bram Moolenaar
2017-12-19 21:23:21 +01:00
parent 4ce46c2a6b
commit 8ada6aa929
5 changed files with 33 additions and 14 deletions

View File

@@ -348,24 +348,29 @@ inc_cursor(void)
int
inc(pos_T *lp)
{
char_u *p = ml_get_pos(lp);
char_u *p;
if (*p != NUL) /* still within line, move to next char (may be NUL) */
/* when searching position may be set to end of a line */
if (lp->col != MAXCOL)
{
#ifdef FEAT_MBYTE
if (has_mbyte)
p = ml_get_pos(lp);
if (*p != NUL) /* still within line, move to next char (may be NUL) */
{
int l = (*mb_ptr2len)(p);
#ifdef FEAT_MBYTE
if (has_mbyte)
{
int l = (*mb_ptr2len)(p);
lp->col += l;
return ((p[l] != NUL) ? 0 : 2);
}
lp->col += l;
return ((p[l] != NUL) ? 0 : 2);
}
#endif
lp->col++;
lp->col++;
#ifdef FEAT_VIRTUALEDIT
lp->coladd = 0;
lp->coladd = 0;
#endif
return ((p[1] != NUL) ? 0 : 2);
return ((p[1] != NUL) ? 0 : 2);
}
}
if (lp->lnum != curbuf->b_ml.ml_line_count) /* there is a next line */
{