vim-patch:8.0.0307

Problem:    Asan detects a memory error when EXITFREE is defined. (Dominique
            Pelle)
Solution:   In getvcol() check for ml_get_buf() returning an empty string.
            Also skip adjusting the scroll position.  Set "exiting" in
            mch_exit() for all systems.

955f198fc5
This commit is contained in:
Justin M. Keyes 2017-03-22 15:02:19 +01:00
parent 830b31683e
commit c398402f12
2 changed files with 10 additions and 1 deletions

View File

@ -1160,6 +1160,11 @@ void getvcol(win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor,
// continue until the NUL
posptr = NULL;
} else {
// Special check for an empty line, which can happen on exit, when
// ml_get_buf() always returns an empty string.
if (*ptr == NUL) {
pos->col = 0;
}
posptr = ptr + pos->col;
}

View File

@ -4803,7 +4803,11 @@ void win_new_height(win_T *wp, int height)
wp->w_height = height;
wp->w_skipcol = 0;
scroll_to_fraction(wp, prev_height);
// There is no point in adjusting the scroll position when exiting. Some
// values might be invalid.
if (!exiting) {
scroll_to_fraction(wp, prev_height);
}
}
void scroll_to_fraction(win_T *wp, int prev_height)