0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

updated for version 7.4.369

Problem:    Using freed memory when exiting while compiled with EXITFREE.
Solution:   Set curwin to NULL and check for that. (Dominique Pelle)
This commit is contained in:
Bram Moolenaar
2014-07-16 16:30:28 +02:00
parent b643e77782
commit 4e036c9e6f
3 changed files with 8 additions and 2 deletions

View File

@@ -5702,8 +5702,8 @@ buf_delete_signs(buf)
signlist_T *next; signlist_T *next;
/* When deleting the last sign need to redraw the windows to remove the /* When deleting the last sign need to redraw the windows to remove the
* sign column. */ * sign column. Not when curwin is NULL (this means we're exiting). */
if (buf->b_signlist != NULL) if (buf->b_signlist != NULL && curwin != NULL)
{ {
redraw_buf_later(buf, NOT_VALID); redraw_buf_later(buf, NOT_VALID);
changed_cline_bef_curs(); changed_cline_bef_curs();

View File

@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
369,
/**/ /**/
368, 368,
/**/ /**/

View File

@@ -2489,6 +2489,10 @@ win_free_all()
while (firstwin != NULL) while (firstwin != NULL)
(void)win_free_mem(firstwin, &dummy, NULL); (void)win_free_mem(firstwin, &dummy, NULL);
/* No window should be used after this. Set curwin to NULL to crash
* instead of using freed memory. */
curwin = NULL;
} }
#endif #endif