0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 8.0.0483: illegal memory access when using :all

Problem:    Illegal memory access when using :all. (Dominique Pelle)
Solution:   Adjust the cursor position right after setting "curwin".
This commit is contained in:
Bram Moolenaar
2017-03-18 23:11:04 +01:00
parent 2c90d51123
commit f79225ed4f
3 changed files with 18 additions and 0 deletions

View File

@@ -67,4 +67,16 @@ function Test_window_cmd_wincmd_gf()
augroup! test_window_cmd_wincmd_gf
endfunc
func Test_next_split_all()
" This was causing an illegal memory access.
n x
norm axxx
split
split
s/x
s/x
all
bwipe!
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

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

View File

@@ -2450,6 +2450,10 @@ win_close(win_T *win, int free_buf)
#endif
curbuf = curwin->w_buffer;
close_curwin = TRUE;
/* The cursor position may be invalid if the buffer changed after last
* using the window. */
check_cursor();
}
if (p_ea && (*p_ead == 'b' || *p_ead == dir))
win_equal(curwin, TRUE, dir);