Patch 8.0.1446
Problem:    Acessing freed memory after window command in auto command.
            (gy741)
Solution:   Adjust the pointer in the parent frame. (Christian Brabandt,
            closes #2467)
Files:      src/window.c, src/testdir/test_window_cmd.vim


*** ../vim-8.0.1445/src/window.c        2017-12-25 14:29:11.487240231 +0100
--- src/window.c        2018-01-31 18:56:23.170706874 +0100
***************
*** 2731,2736 ****
--- 2731,2738 ----
        if (frp2->fr_win != NULL)
            frp2->fr_win->w_frame = frp2->fr_parent;
        frp = frp2->fr_parent;
+       if (topframe->fr_child == frp2)
+           topframe->fr_child = frp;
        vim_free(frp2);
  
        frp2 = frp->fr_parent;
***************
*** 2754,2759 ****
--- 2756,2763 ----
                    break;
                }
            }
+           if (topframe->fr_child == frp)
+               topframe->fr_child = frp2;
            vim_free(frp);
        }
      }
***************
*** 3499,3505 ****
      topframe = curwin->w_frame;
      topframe->fr_width = Columns;
      topframe->fr_height = Rows - p_ch;
-     topframe->fr_win = curwin;
  
      return OK;
  }
--- 3503,3508 ----
***************
*** 4812,4818 ****
--- 4815,4826 ----
      if (frp->fr_prev != NULL)
        frp->fr_prev->fr_next = frp->fr_next;
      else
+     {
        frp->fr_parent->fr_child = frp->fr_next;
+       /* special case: topframe->fr_child == frp */
+       if (topframe->fr_child == frp)
+           topframe->fr_child = frp->fr_next;
+     }
      if (frp->fr_next != NULL)
        frp->fr_next->fr_prev = frp->fr_prev;
  }
*** ../vim-8.0.1445/src/testdir/test_window_cmd.vim     2017-12-19 
12:27:19.378404474 +0100
--- src/testdir/test_window_cmd.vim     2018-01-31 18:48:55.261727538 +0100
***************
*** 472,475 ****
--- 472,486 ----
    exe "norm! v\<C-W>:\<C-U>echo v:version"
  endfunc
  
+ func Test_access_freed_mem()
+   " This was accessing freed memory
+   au * 0 vs xxx
+   arg 0
+   argadd
+   all
+   all
+   au!
+   bwipe xxx
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.0.1445/src/version.c       2018-01-31 15:48:01.105171594 +0100
--- src/version.c       2018-01-31 18:32:38.879981464 +0100
***************
*** 773,774 ****
--- 773,776 ----
  {   /* Add new patch number below this line */
+ /**/
+     1446,
  /**/

-- 
The software said it requires Windows 95 or better, so I installed Linux.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui