Karsten Hopp caf020
To: vim_dev@googlegroups.com
Karsten Hopp caf020
Subject: Patch 7.3.913
Karsten Hopp caf020
Fcc: outbox
Karsten Hopp caf020
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp caf020
Mime-Version: 1.0
Karsten Hopp caf020
Content-Type: text/plain; charset=UTF-8
Karsten Hopp caf020
Content-Transfer-Encoding: 8bit
Karsten Hopp caf020
------------
Karsten Hopp caf020
Karsten Hopp caf020
Patch 7.3.913 (after 7.3.905)
Karsten Hopp caf020
Problem:    Still a crash when writing viminfo.
Karsten Hopp caf020
Solution:   Add checks for NULL pointers. (Ron Aaron)
Karsten Hopp caf020
Files:	    src/ex_getln.c
Karsten Hopp caf020
Karsten Hopp caf020
Karsten Hopp caf020
*** ../vim-7.3.912/src/ex_getln.c	2013-04-15 22:22:48.000000000 +0200
Karsten Hopp caf020
--- src/ex_getln.c	2013-04-24 15:35:22.000000000 +0200
Karsten Hopp caf020
***************
Karsten Hopp caf020
*** 6177,6182 ****
Karsten Hopp caf020
--- 6177,6183 ----
Karsten Hopp caf020
  	}
Karsten Hopp caf020
  	vim_free(viminfo_history[type]);
Karsten Hopp caf020
  	viminfo_history[type] = NULL;
Karsten Hopp caf020
+ 	viminfo_hisidx[type] = 0;
Karsten Hopp caf020
      }
Karsten Hopp caf020
  }
Karsten Hopp caf020
  
Karsten Hopp caf020
***************
Karsten Hopp caf020
*** 6230,6235 ****
Karsten Hopp caf020
--- 6231,6237 ----
Karsten Hopp caf020
  			&& !(round == 2 && i >= viminfo_hisidx[type]))
Karsten Hopp caf020
  		{
Karsten Hopp caf020
  		    p = round == 1 ? history[type][i].hisstr
Karsten Hopp caf020
+ 				   : viminfo_history[type] == NULL ? NULL
Karsten Hopp caf020
  						   : viminfo_history[type][i];
Karsten Hopp caf020
  		    if (p != NULL && (round == 2 || !history[type][i].viminfo))
Karsten Hopp caf020
  		    {
Karsten Hopp caf020
***************
Karsten Hopp caf020
*** 6261,6267 ****
Karsten Hopp caf020
  		}
Karsten Hopp caf020
  	}
Karsten Hopp caf020
  	for (i = 0; i < viminfo_hisidx[type]; ++i)
Karsten Hopp caf020
! 	    vim_free(viminfo_history[type][i]);
Karsten Hopp caf020
  	vim_free(viminfo_history[type]);
Karsten Hopp caf020
  	viminfo_history[type] = NULL;
Karsten Hopp caf020
  	viminfo_hisidx[type] = 0;
Karsten Hopp caf020
--- 6263,6270 ----
Karsten Hopp caf020
  		}
Karsten Hopp caf020
  	}
Karsten Hopp caf020
  	for (i = 0; i < viminfo_hisidx[type]; ++i)
Karsten Hopp caf020
! 	    if (viminfo_history[type] != NULL)
Karsten Hopp caf020
! 		vim_free(viminfo_history[type][i]);
Karsten Hopp caf020
  	vim_free(viminfo_history[type]);
Karsten Hopp caf020
  	viminfo_history[type] = NULL;
Karsten Hopp caf020
  	viminfo_hisidx[type] = 0;
Karsten Hopp caf020
*** ../vim-7.3.912/src/version.c	2013-04-24 15:12:27.000000000 +0200
Karsten Hopp caf020
--- src/version.c	2013-04-24 15:38:22.000000000 +0200
Karsten Hopp caf020
***************
Karsten Hopp caf020
*** 730,731 ****
Karsten Hopp caf020
--- 730,733 ----
Karsten Hopp caf020
  {   /* Add new patch number below this line */
Karsten Hopp caf020
+ /**/
Karsten Hopp caf020
+     913,
Karsten Hopp caf020
  /**/
Karsten Hopp caf020
Karsten Hopp caf020
-- 
Karsten Hopp caf020
hundred-and-one symptoms of being an internet addict:
Karsten Hopp caf020
225. You sign up for free subscriptions for all the computer magazines
Karsten Hopp caf020
Karsten Hopp caf020
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp caf020
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp caf020
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp caf020
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///