updated for version 7.4.251
Problem: Crash when BufAdd autocommand wipes out the buffer.
Solution: Check for buffer to still be valid. Postpone freeing the buffer
structure. (Hirohito Higashi)
diff --git a/src/fileio.c b/src/fileio.c
index 17f36e7..f8b384b 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -9548,13 +9548,19 @@
/*
* When stopping to execute autocommands, restore the search patterns and
- * the redo buffer.
+ * the redo buffer. Free buffers in the au_pending_free_buf list.
*/
if (!autocmd_busy)
{
restore_search_patterns();
restoreRedobuff();
did_filetype = FALSE;
+ while (au_pending_free_buf != NULL)
+ {
+ buf_T *b = au_pending_free_buf->b_next;
+ vim_free(au_pending_free_buf);
+ au_pending_free_buf = b;
+ }
}
/*