diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-01-19 14:51:54 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-01-19 14:51:54 +0100 |
commit | 62ef797496c6243d111c596a592a8ef8c1d1e710 (patch) | |
tree | 0240bfaa03d820996eff5e2dea1a0b51771764c1 /src/window.c | |
parent | da5dcd936656f524dd0ae7cb2685245f07f5720f (diff) | |
download | vim-git-62ef797496c6243d111c596a592a8ef8c1d1e710.tar.gz |
patch 7.4.1137v7.4.1137
Problem: Illegal memory access when using :copen and :cclose.
Solution: Avoid that curbuf is invalid. (suggestion by Justin M. Keyes)
Add a test.
Diffstat (limited to 'src/window.c')
-rw-r--r-- | src/window.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c index 95515b57d..408c4bd22 100644 --- a/src/window.c +++ b/src/window.c @@ -2445,6 +2445,10 @@ win_close(win, free_buf) if (win_valid(win)) win->w_closing = FALSE; #endif + /* Make sure curbuf is valid. It can become invalid if 'bufhidden' is + * "wipe". */ + if (!buf_valid(curbuf)) + curbuf = firstbuf; } if (only_one_window() && win_valid(win) && win->w_buffer == NULL |