updated for version 7.3.361
Problem: Accessing memory after it is freed when EXITFREE is defined.
Solution: Don't access curwin when firstwin is NULL. (Dominique Pelle)
diff --git a/src/buffer.c b/src/buffer.c
index d4a9c1e..5b2ec68 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -567,8 +567,9 @@
diff_buf_delete(buf); /* Can't use 'diff' for unloaded buffer. */
#endif
#ifdef FEAT_SYN_HL
- if (curwin->w_buffer == buf)
- reset_synblock(curwin); /* remove any ownsyntax */
+ /* Remove any ownsyntax, unless exiting. */
+ if (firstwin != NULL && curwin->w_buffer == buf)
+ reset_synblock(curwin);
#endif
#ifdef FEAT_FOLDING