Karsten Hopp 053fea
To: vim_dev@googlegroups.com
Karsten Hopp 053fea
Subject: Patch 7.3.039
Karsten Hopp 053fea
Fcc: outbox
Karsten Hopp 053fea
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 053fea
Mime-Version: 1.0
Karsten Hopp 053fea
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 053fea
Content-Transfer-Encoding: 8bit
Karsten Hopp 053fea
------------
Karsten Hopp 053fea
Karsten Hopp 053fea
Patch 7.3.039
Karsten Hopp 053fea
Problem:    Crash when using skk.vim plugin.
Karsten Hopp 053fea
Solution:   Get length of expression evaluation result only after checking for
Karsten Hopp 053fea
	    NULL.  (Noriaki Yagi, Dominique Pelle)
Karsten Hopp 053fea
Files:	    src/ex_getln.c
Karsten Hopp 053fea
Karsten Hopp 053fea
Karsten Hopp 053fea
*** ../vim-7.3.038/src/ex_getln.c	2010-09-29 15:50:14.000000000 +0200
Karsten Hopp 053fea
--- src/ex_getln.c	2010-10-27 12:42:00.000000000 +0200
Karsten Hopp 053fea
***************
Karsten Hopp 053fea
*** 688,711 ****
Karsten Hopp 053fea
  		    p = get_expr_line();
Karsten Hopp 053fea
  		    --textlock;
Karsten Hopp 053fea
  		    restore_cmdline(&save_ccline);
Karsten Hopp 053fea
- 		    len = (int)STRLEN(p);
Karsten Hopp 053fea
  
Karsten Hopp 053fea
! 		    if (p != NULL && realloc_cmdbuff(len + 1) == OK)
Karsten Hopp 053fea
  		    {
Karsten Hopp 053fea
! 			ccline.cmdlen = len;
Karsten Hopp 053fea
! 			STRCPY(ccline.cmdbuff, p);
Karsten Hopp 053fea
! 			vim_free(p);
Karsten Hopp 053fea
! 
Karsten Hopp 053fea
! 			/* Restore the cursor or use the position set with
Karsten Hopp 053fea
! 			 * set_cmdline_pos(). */
Karsten Hopp 053fea
! 			if (new_cmdpos > ccline.cmdlen)
Karsten Hopp 053fea
! 			    ccline.cmdpos = ccline.cmdlen;
Karsten Hopp 053fea
! 			else
Karsten Hopp 053fea
! 			    ccline.cmdpos = new_cmdpos;
Karsten Hopp 053fea
! 
Karsten Hopp 053fea
! 			KeyTyped = FALSE;	/* Don't do p_wc completion. */
Karsten Hopp 053fea
! 			redrawcmd();
Karsten Hopp 053fea
! 			goto cmdline_changed;
Karsten Hopp 053fea
  		    }
Karsten Hopp 053fea
  		}
Karsten Hopp 053fea
  		beep_flush();
Karsten Hopp 053fea
--- 688,714 ----
Karsten Hopp 053fea
  		    p = get_expr_line();
Karsten Hopp 053fea
  		    --textlock;
Karsten Hopp 053fea
  		    restore_cmdline(&save_ccline);
Karsten Hopp 053fea
  
Karsten Hopp 053fea
! 		    if (p != NULL)
Karsten Hopp 053fea
  		    {
Karsten Hopp 053fea
! 			len = (int)STRLEN(p);
Karsten Hopp 053fea
! 			if (realloc_cmdbuff(len + 1) == OK)
Karsten Hopp 053fea
! 			{
Karsten Hopp 053fea
! 			    ccline.cmdlen = len;
Karsten Hopp 053fea
! 			    STRCPY(ccline.cmdbuff, p);
Karsten Hopp 053fea
! 			    vim_free(p);
Karsten Hopp 053fea
! 
Karsten Hopp 053fea
! 			    /* Restore the cursor or use the position set with
Karsten Hopp 053fea
! 			     * set_cmdline_pos(). */
Karsten Hopp 053fea
! 			    if (new_cmdpos > ccline.cmdlen)
Karsten Hopp 053fea
! 				ccline.cmdpos = ccline.cmdlen;
Karsten Hopp 053fea
! 			    else
Karsten Hopp 053fea
! 				ccline.cmdpos = new_cmdpos;
Karsten Hopp 053fea
! 
Karsten Hopp 053fea
! 			    KeyTyped = FALSE;	/* Don't do p_wc completion. */
Karsten Hopp 053fea
! 			    redrawcmd();
Karsten Hopp 053fea
! 			    goto cmdline_changed;
Karsten Hopp 053fea
! 			}
Karsten Hopp 053fea
  		    }
Karsten Hopp 053fea
  		}
Karsten Hopp 053fea
  		beep_flush();
Karsten Hopp 053fea
*** ../vim-7.3.038/src/version.c	2010-10-27 12:33:12.000000000 +0200
Karsten Hopp 053fea
--- src/version.c	2010-10-27 12:43:40.000000000 +0200
Karsten Hopp 053fea
***************
Karsten Hopp 053fea
*** 716,717 ****
Karsten Hopp 053fea
--- 716,719 ----
Karsten Hopp 053fea
  {   /* Add new patch number below this line */
Karsten Hopp 053fea
+ /**/
Karsten Hopp 053fea
+     39,
Karsten Hopp 053fea
  /**/
Karsten Hopp 053fea
Karsten Hopp 053fea
-- 
Karsten Hopp 053fea
"Hegel was right when he said that we learn from history that man can
Karsten Hopp 053fea
never learn anything from history."       (George Bernard Shaw)
Karsten Hopp 053fea
Karsten Hopp 053fea
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 053fea
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 053fea
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 053fea
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///