From 2b937fe00d8b0b308cce87aee9f70699f8474c1e Mon Sep 17 00:00:00 2001 From: André Twupack Date: Sun, 21 Sep 2014 00:29:45 +0200 Subject: vim-patch:7.4.320 Problem: Possible crash when an BufLeave autocommand deletes the buffer. Solution: Check for the window pointer being valid. Postpone freeing the window until autocommands are done. (Yasuhiro Matsumoto) https://code.google.com/p/vim/source/detail?r=v7-4-320 --- src/nvim/window.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/nvim/window.c') diff --git a/src/nvim/window.c b/src/nvim/window.c index f5d8edc751..f41a5d8872 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -3679,7 +3679,12 @@ win_free ( if (wp != aucmd_win) win_remove(wp, tp); - free(wp); + if (autocmd_busy) { + wp->w_next = au_pending_free_win; + au_pending_free_win = wp; + } else { + free(wp); + } unblock_autocmds(); } -- cgit