Mercurial > vim
diff src/ex_getln.c @ 2099:c1f67ce5740a v7.2.382
updated for version 7.2.382
Problem: Accessing freed memory when closing the cmdline window when
'bufhide' is set to "wipe".
Solution: Check if the buffer still exists before invoking close_buffer()
(Dominique Pelle)
author | Bram Moolenaar <bram@zimbu.org> |
---|---|
date | Tue, 02 Mar 2010 17:23:21 +0100 |
parents | 8f72e3512b43 |
children | 63bf37c1e7a2 |
line wrap: on
line diff
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -6252,7 +6252,11 @@ ex_window() bp = curbuf; win_goto(old_curwin); win_close(wp, TRUE); - close_buffer(NULL, bp, DOBUF_WIPE); + + /* win_close() may have already wiped the buffer when 'bh' is + * set to 'wipe' */ + if (buf_valid(bp)) + close_buffer(NULL, bp, DOBUF_WIPE); /* Restore window sizes. */ win_size_restore(&winsizes);