updated for version 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)
diff --git a/src/window.c b/src/window.c
index fe6f335..f4dea1d 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4597,7 +4597,13 @@
     if (wp != aucmd_win)
 #endif
 	win_remove(wp, tp);
-    vim_free(wp);
+    if (autocmd_busy)
+    {
+	wp->w_next = au_pending_free_win;
+	au_pending_free_win = wp;
+    }
+    else
+	vim_free(wp);
 
 #ifdef FEAT_AUTOCMD
     unblock_autocmds();