To: vim_dev@googlegroups.com
Subject: Patch 7.3.039
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.039
Problem: Crash when using skk.vim plugin.
Solution: Get length of expression evaluation result only after checking for
NULL. (Noriaki Yagi, Dominique Pelle)
Files: src/ex_getln.c
*** ../vim-7.3.038/src/ex_getln.c 2010-09-29 15:50:14.000000000 +0200
--- src/ex_getln.c 2010-10-27 12:42:00.000000000 +0200
***************
*** 688,711 ****
p = get_expr_line();
--textlock;
restore_cmdline(&save_ccline);
- len = (int)STRLEN(p);
! if (p != NULL && realloc_cmdbuff(len + 1) == OK)
{
! ccline.cmdlen = len;
! STRCPY(ccline.cmdbuff, p);
! vim_free(p);
!
! /* Restore the cursor or use the position set with
! * set_cmdline_pos(). */
! if (new_cmdpos > ccline.cmdlen)
! ccline.cmdpos = ccline.cmdlen;
! else
! ccline.cmdpos = new_cmdpos;
!
! KeyTyped = FALSE; /* Don't do p_wc completion. */
! redrawcmd();
! goto cmdline_changed;
}
}
beep_flush();
--- 688,714 ----
p = get_expr_line();
--textlock;
restore_cmdline(&save_ccline);
! if (p != NULL)
{
! len = (int)STRLEN(p);
! if (realloc_cmdbuff(len + 1) == OK)
! {
! ccline.cmdlen = len;
! STRCPY(ccline.cmdbuff, p);
! vim_free(p);
!
! /* Restore the cursor or use the position set with
! * set_cmdline_pos(). */
! if (new_cmdpos > ccline.cmdlen)
! ccline.cmdpos = ccline.cmdlen;
! else
! ccline.cmdpos = new_cmdpos;
!
! KeyTyped = FALSE; /* Don't do p_wc completion. */
! redrawcmd();
! goto cmdline_changed;
! }
}
}
beep_flush();
*** ../vim-7.3.038/src/version.c 2010-10-27 12:33:12.000000000 +0200
--- src/version.c 2010-10-27 12:43:40.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 39,
/**/
--
"Hegel was right when he said that we learn from history that man can
never learn anything from history." (George Bernard Shaw)
/// 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 ///