patch 8.0.0679: using freed memory
Problem: Using freed memory.
Solution: Get the parent frame pointer earlier.
diff --git a/src/window.c b/src/window.c
index 8078e01..1927217 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2282,7 +2282,7 @@
int dir;
int help_window = FALSE;
tabpage_T *prev_curtab = curtab;
- frame_T *win_frame = win->w_frame;
+ frame_T *win_frame = win->w_frame->fr_parent;
if (last_window())
{
@@ -2462,8 +2462,7 @@
if (p_ea && (*p_ead == 'b' || *p_ead == dir))
/* If the frame of the closed window contains the new current window,
* only resize that frame. Otherwise resize all windows. */
- win_equal(curwin,
- curwin->w_frame->fr_parent == win_frame->fr_parent, dir);
+ win_equal(curwin, curwin->w_frame->fr_parent == win_frame, dir);
else
win_comp_pos();
if (close_curwin)