Karsten Hopp 42380a
To: vim-dev@vim.org
Karsten Hopp 42380a
Subject: patch 7.1.076
Karsten Hopp 42380a
Fcc: outbox
Karsten Hopp 42380a
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 42380a
Mime-Version: 1.0
Karsten Hopp 42380a
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp 42380a
Content-Transfer-Encoding: 8bit
Karsten Hopp 42380a
------------
Karsten Hopp 42380a
Karsten Hopp 42380a
Patch 7.1.076
Karsten Hopp 42380a
Problem:    Another strcpy() with overlapping arguments.
Karsten Hopp 42380a
Solution:   Use mch_memmove(). (Dominique Pelle)  And another one.
Karsten Hopp 42380a
Files:	    src/ex_docmd.c, src/normal.c
Karsten Hopp 42380a
Karsten Hopp 42380a
Karsten Hopp 42380a
*** ../vim-7.1.075/src/ex_docmd.c	Sat Aug 11 15:59:44 2007
Karsten Hopp 42380a
--- src/ex_docmd.c	Wed Aug  8 22:28:33 2007
Karsten Hopp 42380a
***************
Karsten Hopp 42380a
*** 4493,4499 ****
Karsten Hopp 42380a
  	    if (eap->argt & (USECTRLV | XFILE))
Karsten Hopp 42380a
  		++p;		/* skip CTRL-V and next char */
Karsten Hopp 42380a
  	    else
Karsten Hopp 42380a
! 		STRCPY(p, p + 1);	/* remove CTRL-V and skip next char */
Karsten Hopp 42380a
  	    if (*p == NUL)		/* stop at NUL after CTRL-V */
Karsten Hopp 42380a
  		break;
Karsten Hopp 42380a
  	}
Karsten Hopp 42380a
--- 4493,4500 ----
Karsten Hopp 42380a
  	    if (eap->argt & (USECTRLV | XFILE))
Karsten Hopp 42380a
  		++p;		/* skip CTRL-V and next char */
Karsten Hopp 42380a
  	    else
Karsten Hopp 42380a
! 				/* remove CTRL-V and skip next char */
Karsten Hopp 42380a
! 		mch_memmove(p, p + 1, STRLEN(p));
Karsten Hopp 42380a
  	    if (*p == NUL)		/* stop at NUL after CTRL-V */
Karsten Hopp 42380a
  		break;
Karsten Hopp 42380a
  	}
Karsten Hopp 42380a
*** ../vim-7.1.075/src/normal.c	Wed Aug  8 21:41:19 2007
Karsten Hopp 42380a
--- src/normal.c	Sun Aug 12 17:35:20 2007
Karsten Hopp 42380a
***************
Karsten Hopp 42380a
*** 3760,3766 ****
Karsten Hopp 42380a
      extra_len = (int)STRLEN(p);
Karsten Hopp 42380a
      overflow = old_len + extra_len - SHOWCMD_COLS;
Karsten Hopp 42380a
      if (overflow > 0)
Karsten Hopp 42380a
! 	STRCPY(showcmd_buf, showcmd_buf + overflow);
Karsten Hopp 42380a
      STRCAT(showcmd_buf, p);
Karsten Hopp 42380a
  
Karsten Hopp 42380a
      if (char_avail())
Karsten Hopp 42380a
--- 3760,3767 ----
Karsten Hopp 42380a
      extra_len = (int)STRLEN(p);
Karsten Hopp 42380a
      overflow = old_len + extra_len - SHOWCMD_COLS;
Karsten Hopp 42380a
      if (overflow > 0)
Karsten Hopp 42380a
! 	mch_memmove(showcmd_buf, showcmd_buf + overflow,
Karsten Hopp 42380a
! 						      old_len - overflow + 1);
Karsten Hopp 42380a
      STRCAT(showcmd_buf, p);
Karsten Hopp 42380a
  
Karsten Hopp 42380a
      if (char_avail())
Karsten Hopp 42380a
*** ../vim-7.1.075/src/version.c	Tue Aug 14 22:40:13 2007
Karsten Hopp 42380a
--- src/version.c	Tue Aug 14 22:53:13 2007
Karsten Hopp 42380a
***************
Karsten Hopp 42380a
*** 668,669 ****
Karsten Hopp 42380a
--- 668,671 ----
Karsten Hopp 42380a
  {   /* Add new patch number below this line */
Karsten Hopp 42380a
+ /**/
Karsten Hopp 42380a
+     76,
Karsten Hopp 42380a
  /**/
Karsten Hopp 42380a
Karsten Hopp 42380a
-- 
Karsten Hopp 42380a
hundred-and-one symptoms of being an internet addict:
Karsten Hopp 42380a
161. You get up before the sun rises to check your e-mail, and you
Karsten Hopp 42380a
     find yourself in the very same chair long after the sun has set.
Karsten Hopp 42380a
Karsten Hopp 42380a
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 42380a
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 42380a
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp 42380a
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///