Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.3.005
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.005
Problem:    Crash when using undotree(). (Christian Brabandt)
Solution:   Increase the list reference count.  Add a test for undotree() 
            (Lech Lorens)
Files:      src/eval.c, src/testdir/Makefile, src/testdir/test61.in


*** ../vim-7.3.004/src/eval.c	2010-08-15 21:57:26.000000000 +0200
--- src/eval.c	2010-09-14 12:43:04.000000000 +0200
***************
*** 7075,7081 ****
  }
  
  /*
!  * Add a list  entry to dictionary "d".
   * Returns FAIL when out of memory and when key already exists.
   */
      int
--- 7075,7081 ----
  }
  
  /*
!  * Add a list entry to dictionary "d".
   * Returns FAIL when out of memory and when key already exists.
   */
      int
***************
*** 7097,7102 ****
--- 7097,7103 ----
  	dictitem_free(item);
  	return FAIL;
      }
+     ++list->lv_refcount;
      return OK;
  }
  
*** ../vim-7.3.004/src/testdir/Makefile	2010-08-15 21:57:29.000000000 +0200
--- src/testdir/Makefile	2010-09-14 12:38:56.000000000 +0200
***************
*** 44,50 ****
  $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
  
  clean:
! 	-rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo
  
  test1.out: test1.in
  	-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
--- 44,50 ----
  $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
  
  clean:
! 	-rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.* viminfo
  
  test1.out: test1.in
  	-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
*** ../vim-7.3.004/src/testdir/test61.in	2010-08-15 21:57:29.000000000 +0200
--- src/testdir/test61.in	2010-09-14 12:38:56.000000000 +0200
***************
*** 4,9 ****
--- 4,13 ----
  Also tests :earlier and :later.
  
  STARTTEST
+ :echo undotree().entries
+ ENDTEST
+ 
+ STARTTEST
  :" Delete three characters and undo
  Gx:set ul=100
  x:set ul=100
*** ../vim-7.3.004/src/version.c	2010-09-14 10:55:24.000000000 +0200
--- src/version.c	2010-09-14 12:39:59.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     5,
  /**/

-- 
I'm writing a book.  I've got the page numbers done.

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///