de2d63f
To: vim-dev@vim.org
de2d63f
Subject: patch 7.1.052
de2d63f
Fcc: outbox
de2d63f
From: Bram Moolenaar <Bram@moolenaar.net>
de2d63f
Mime-Version: 1.0
de2d63f
Content-Type: text/plain; charset=ISO-8859-1
de2d63f
Content-Transfer-Encoding: 8bit
de2d63f
------------
de2d63f
de2d63f
Patch 7.1.052
de2d63f
Problem:    When creating a new match not all fields are initialized, which
de2d63f
	    may lead to unpredictable results.
de2d63f
Solution:   Initialise rmm_ic and rmm_maxcol.
de2d63f
Files:	    src/window.c
de2d63f
de2d63f
de2d63f
*** ../vim-7.1.051/src/window.c	Thu Jul 26 22:55:11 2007
de2d63f
--- src/window.c	Sun Aug  5 17:17:51 2007
de2d63f
***************
de2d63f
*** 6200,6206 ****
de2d63f
      matchitem_T *prev;
de2d63f
      matchitem_T *m;
de2d63f
      int		hlg_id;
de2d63f
!     regmmatch_T match;
de2d63f
  
de2d63f
      if (*grp == NUL || *pat == NUL)
de2d63f
  	return -1;
de2d63f
--- 6243,6249 ----
de2d63f
      matchitem_T *prev;
de2d63f
      matchitem_T *m;
de2d63f
      int		hlg_id;
de2d63f
!     regprog_T	*regprog;
de2d63f
  
de2d63f
      if (*grp == NUL || *pat == NUL)
de2d63f
  	return -1;
de2d63f
***************
de2d63f
*** 6227,6233 ****
de2d63f
  	EMSG2(_(e_nogroup), grp);
de2d63f
  	return -1;
de2d63f
      }
de2d63f
!     if ((match.regprog = vim_regcomp(pat, RE_MAGIC)) == NULL)
de2d63f
      {
de2d63f
  	EMSG2(_(e_invarg2), pat);
de2d63f
  	return -1;
de2d63f
--- 6270,6276 ----
de2d63f
  	EMSG2(_(e_nogroup), grp);
de2d63f
  	return -1;
de2d63f
      }
de2d63f
!     if ((regprog = vim_regcomp(pat, RE_MAGIC)) == NULL)
de2d63f
      {
de2d63f
  	EMSG2(_(e_invarg2), pat);
de2d63f
  	return -1;
de2d63f
***************
de2d63f
*** 6250,6256 ****
de2d63f
      m->priority = prio;
de2d63f
      m->pattern = vim_strsave(pat);
de2d63f
      m->hlg_id = hlg_id;
de2d63f
!     m->match.regprog = match.regprog;
de2d63f
  
de2d63f
      /* Insert new match.  The match list is in ascending order with regard to
de2d63f
       * the match priorities. */
de2d63f
--- 6293,6301 ----
de2d63f
      m->priority = prio;
de2d63f
      m->pattern = vim_strsave(pat);
de2d63f
      m->hlg_id = hlg_id;
de2d63f
!     m->match.regprog = regprog;
de2d63f
!     m->match.rmm_ic = FALSE;
de2d63f
!     m->match.rmm_maxcol = 0;
de2d63f
  
de2d63f
      /* Insert new match.  The match list is in ascending order with regard to
de2d63f
       * the match priorities. */
de2d63f
*** ../vim-7.1.051/src/version.c	Sun Aug  5 18:32:21 2007
de2d63f
--- src/version.c	Sun Aug  5 18:47:55 2007
de2d63f
***************
de2d63f
*** 668,669 ****
de2d63f
--- 668,671 ----
de2d63f
  {   /* Add new patch number below this line */
de2d63f
+ /**/
de2d63f
+     52,
de2d63f
  /**/
de2d63f
de2d63f
-- 
de2d63f
From "know your smileys":
de2d63f
 8-O 	"Omigod!!" (done "rm -rf *" ?)
de2d63f
de2d63f
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
de2d63f
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
de2d63f
\\\        download, build and distribute -- http://www.A-A-P.org        ///
de2d63f
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///