Karsten Hopp 7ebfd2
To: vim_dev@googlegroups.com
Karsten Hopp 7ebfd2
Subject: Patch 7.4.736
Karsten Hopp 7ebfd2
Fcc: outbox
Karsten Hopp 7ebfd2
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 7ebfd2
Mime-Version: 1.0
Karsten Hopp 7ebfd2
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 7ebfd2
Content-Transfer-Encoding: 8bit
Karsten Hopp 7ebfd2
------------
Karsten Hopp 7ebfd2
Karsten Hopp 7ebfd2
Patch 7.4.736
Karsten Hopp 7ebfd2
Problem:    Invalid memory access.
Karsten Hopp 7ebfd2
Solution:   Avoid going over the end of a NUL terminated string. (Dominique
Karsten Hopp 7ebfd2
            Pelle)
Karsten Hopp 7ebfd2
Files:      src/regexp.c
Karsten Hopp 7ebfd2
Karsten Hopp 7ebfd2
Karsten Hopp 7ebfd2
*** ../vim-7.4.735/src/regexp.c	2015-05-04 09:56:41.878096054 +0200
Karsten Hopp 7ebfd2
--- src/regexp.c	2015-06-09 20:37:13.615725284 +0200
Karsten Hopp 7ebfd2
***************
Karsten Hopp 7ebfd2
*** 1157,1163 ****
Karsten Hopp 7ebfd2
      int		l = 1;
Karsten Hopp 7ebfd2
      char_u	*p = *pp;
Karsten Hopp 7ebfd2
  
Karsten Hopp 7ebfd2
!     if (p[1] == '.')
Karsten Hopp 7ebfd2
      {
Karsten Hopp 7ebfd2
  #ifdef FEAT_MBYTE
Karsten Hopp 7ebfd2
  	if (has_mbyte)
Karsten Hopp 7ebfd2
--- 1157,1163 ----
Karsten Hopp 7ebfd2
      int		l = 1;
Karsten Hopp 7ebfd2
      char_u	*p = *pp;
Karsten Hopp 7ebfd2
  
Karsten Hopp 7ebfd2
!     if (p[0] != NUL && p[1] == '.')
Karsten Hopp 7ebfd2
      {
Karsten Hopp 7ebfd2
  #ifdef FEAT_MBYTE
Karsten Hopp 7ebfd2
  	if (has_mbyte)
Karsten Hopp 7ebfd2
***************
Karsten Hopp 7ebfd2
*** 1228,1235 ****
Karsten Hopp 7ebfd2
  	{
Karsten Hopp 7ebfd2
  	    if (get_char_class(&p) == CLASS_NONE
Karsten Hopp 7ebfd2
  		    && get_equi_class(&p) == 0
Karsten Hopp 7ebfd2
! 		    && get_coll_element(&p) == 0)
Karsten Hopp 7ebfd2
! 		++p; /* It was not a class name */
Karsten Hopp 7ebfd2
  	}
Karsten Hopp 7ebfd2
  	else
Karsten Hopp 7ebfd2
  	    ++p;
Karsten Hopp 7ebfd2
--- 1228,1236 ----
Karsten Hopp 7ebfd2
  	{
Karsten Hopp 7ebfd2
  	    if (get_char_class(&p) == CLASS_NONE
Karsten Hopp 7ebfd2
  		    && get_equi_class(&p) == 0
Karsten Hopp 7ebfd2
! 		    && get_coll_element(&p) == 0
Karsten Hopp 7ebfd2
! 		    && *p != NUL)
Karsten Hopp 7ebfd2
! 		++p; /* it is not a class name and not NUL */
Karsten Hopp 7ebfd2
  	}
Karsten Hopp 7ebfd2
  	else
Karsten Hopp 7ebfd2
  	    ++p;
Karsten Hopp 7ebfd2
***************
Karsten Hopp 7ebfd2
*** 3156,3162 ****
Karsten Hopp 7ebfd2
  		    /*
Karsten Hopp 7ebfd2
  		     * META contains everything that may be magic sometimes,
Karsten Hopp 7ebfd2
  		     * except ^ and $ ("\^" and "\$" are only magic after
Karsten Hopp 7ebfd2
! 		     * "\v").  We now fetch the next character and toggle its
Karsten Hopp 7ebfd2
  		     * magicness.  Therefore, \ is so meta-magic that it is
Karsten Hopp 7ebfd2
  		     * not in META.
Karsten Hopp 7ebfd2
  		     */
Karsten Hopp 7ebfd2
--- 3157,3163 ----
Karsten Hopp 7ebfd2
  		    /*
Karsten Hopp 7ebfd2
  		     * META contains everything that may be magic sometimes,
Karsten Hopp 7ebfd2
  		     * except ^ and $ ("\^" and "\$" are only magic after
Karsten Hopp 7ebfd2
! 		     * "\V").  We now fetch the next character and toggle its
Karsten Hopp 7ebfd2
  		     * magicness.  Therefore, \ is so meta-magic that it is
Karsten Hopp 7ebfd2
  		     * not in META.
Karsten Hopp 7ebfd2
  		     */
Karsten Hopp 7ebfd2
*** ../vim-7.4.735/src/version.c	2015-06-09 20:30:45.495855617 +0200
Karsten Hopp 7ebfd2
--- src/version.c	2015-06-09 20:35:05.465090115 +0200
Karsten Hopp 7ebfd2
***************
Karsten Hopp 7ebfd2
*** 743,744 ****
Karsten Hopp 7ebfd2
--- 743,746 ----
Karsten Hopp 7ebfd2
  {   /* Add new patch number below this line */
Karsten Hopp 7ebfd2
+ /**/
Karsten Hopp 7ebfd2
+     736,
Karsten Hopp 7ebfd2
  /**/
Karsten Hopp 7ebfd2
Karsten Hopp 7ebfd2
-- 
Karsten Hopp 7ebfd2
From "know your smileys":
Karsten Hopp 7ebfd2
 2B|^2B	  Message from Shakespeare
Karsten Hopp 7ebfd2
Karsten Hopp 7ebfd2
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 7ebfd2
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 7ebfd2
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 7ebfd2
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///