Karsten Hopp ade671
To: vim-dev@vim.org
Karsten Hopp ade671
Subject: Patch 7.2.324
Karsten Hopp ade671
Fcc: outbox
Karsten Hopp ade671
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp ade671
Mime-Version: 1.0
Karsten Hopp ade671
Content-Type: text/plain; charset=UTF-8
Karsten Hopp ade671
Content-Transfer-Encoding: 8bit
Karsten Hopp ade671
------------
Karsten Hopp ade671
Karsten Hopp ade671
Patch 7.2.324
Karsten Hopp ade671
Problem:    A negative column argument in setpos() may cause a crash.
Karsten Hopp ade671
Solution:   Check for invalid column number. (James Vega)
Karsten Hopp ade671
Files:	    src/eval.c, src/misc2.c
Karsten Hopp ade671
Karsten Hopp ade671
Karsten Hopp ade671
*** ../vim-7.2.323/src/eval.c	2009-12-24 15:00:31.000000000 +0100
Karsten Hopp ade671
--- src/eval.c	2009-12-31 13:09:19.000000000 +0100
Karsten Hopp ade671
***************
Karsten Hopp ade671
*** 15542,15548 ****
Karsten Hopp ade671
      {
Karsten Hopp ade671
  	if (list2fpos(&argvars[1], &pos, &fnum) == OK)
Karsten Hopp ade671
  	{
Karsten Hopp ade671
! 	    --pos.col;
Karsten Hopp ade671
  	    if (name[0] == '.' && name[1] == NUL)
Karsten Hopp ade671
  	    {
Karsten Hopp ade671
  		/* set cursor */
Karsten Hopp ade671
--- 15542,15549 ----
Karsten Hopp ade671
      {
Karsten Hopp ade671
  	if (list2fpos(&argvars[1], &pos, &fnum) == OK)
Karsten Hopp ade671
  	{
Karsten Hopp ade671
! 	    if (--pos.col < 0)
Karsten Hopp ade671
! 		pos.col = 0;
Karsten Hopp ade671
  	    if (name[0] == '.' && name[1] == NUL)
Karsten Hopp ade671
  	    {
Karsten Hopp ade671
  		/* set cursor */
Karsten Hopp ade671
*** ../vim-7.2.323/src/misc2.c	2009-11-25 17:15:16.000000000 +0100
Karsten Hopp ade671
--- src/misc2.c	2009-12-31 13:12:36.000000000 +0100
Karsten Hopp ade671
***************
Karsten Hopp ade671
*** 528,533 ****
Karsten Hopp ade671
--- 528,535 ----
Karsten Hopp ade671
  #endif
Karsten Hopp ade671
  	}
Karsten Hopp ade671
      }
Karsten Hopp ade671
+     else if (curwin->w_cursor.col < 0)
Karsten Hopp ade671
+ 	curwin->w_cursor.col = 0;
Karsten Hopp ade671
  
Karsten Hopp ade671
  #ifdef FEAT_VIRTUALEDIT
Karsten Hopp ade671
      /* If virtual editing is on, we can leave the cursor on the old position,
Karsten Hopp ade671
*** ../vim-7.2.323/src/version.c	2009-12-24 16:11:24.000000000 +0100
Karsten Hopp ade671
--- src/version.c	2009-12-31 13:17:25.000000000 +0100
Karsten Hopp ade671
***************
Karsten Hopp ade671
*** 683,684 ****
Karsten Hopp ade671
--- 683,686 ----
Karsten Hopp ade671
  {   /* Add new patch number below this line */
Karsten Hopp ade671
+ /**/
Karsten Hopp ade671
+     324,
Karsten Hopp ade671
  /**/
Karsten Hopp ade671
Karsten Hopp ade671
-- 
Karsten Hopp ade671
"Thou shalt not follow the Null Pointer, for at its end Chaos and
Karsten Hopp ade671
Madness lie."
Karsten Hopp ade671
Karsten Hopp ade671
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp ade671
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp ade671
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp ade671
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///