Karsten Hopp 435392
To: vim_dev@googlegroups.com
Karsten Hopp 435392
Subject: Patch 7.3.1258
Karsten Hopp 435392
Fcc: outbox
Karsten Hopp 435392
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 435392
Mime-Version: 1.0
Karsten Hopp 435392
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 435392
Content-Transfer-Encoding: 8bit
Karsten Hopp 435392
------------
Karsten Hopp 435392
Karsten Hopp 435392
Patch 7.3.1258
Karsten Hopp 435392
Problem:    Using submatch() may crash Vim. (Ingo Karkat)
Karsten Hopp 435392
Solution:   Restore the number of subexpressions used.
Karsten Hopp 435392
Files:	    src/regexp_nfa.c
Karsten Hopp 435392
Karsten Hopp 435392
Karsten Hopp 435392
*** ../vim-7.3.1257/src/regexp_nfa.c	2013-06-26 18:16:55.000000000 +0200
Karsten Hopp 435392
--- src/regexp_nfa.c	2013-06-28 22:59:38.000000000 +0200
Karsten Hopp 435392
***************
Karsten Hopp 435392
*** 5198,5203 ****
Karsten Hopp 435392
--- 5198,5205 ----
Karsten Hopp 435392
  			 || t->state->c == NFA_START_INVISIBLE_BEFORE_FIRST
Karsten Hopp 435392
  			 || t->state->c == NFA_START_INVISIBLE_BEFORE_NEG_FIRST)
Karsten Hopp 435392
  		    {
Karsten Hopp 435392
+ 			int in_use = m->norm.in_use;
Karsten Hopp 435392
+ 
Karsten Hopp 435392
  			/* Copy submatch info for the recursive call, so that
Karsten Hopp 435392
  			 * \1 can be matched. */
Karsten Hopp 435392
  			copy_sub_off(&m->norm, &t->subs.norm);
Karsten Hopp 435392
***************
Karsten Hopp 435392
*** 5231,5236 ****
Karsten Hopp 435392
--- 5233,5239 ----
Karsten Hopp 435392
  			    add_here = TRUE;
Karsten Hopp 435392
  			    add_state = t->state->out1->out;
Karsten Hopp 435392
  			}
Karsten Hopp 435392
+ 			m->norm.in_use = in_use;
Karsten Hopp 435392
  		    }
Karsten Hopp 435392
  		    else
Karsten Hopp 435392
  		    {
Karsten Hopp 435392
*** ../vim-7.3.1257/src/version.c	2013-06-28 20:36:26.000000000 +0200
Karsten Hopp 435392
--- src/version.c	2013-06-28 23:00:55.000000000 +0200
Karsten Hopp 435392
***************
Karsten Hopp 435392
*** 730,731 ****
Karsten Hopp 435392
--- 730,733 ----
Karsten Hopp 435392
  {   /* Add new patch number below this line */
Karsten Hopp 435392
+ /**/
Karsten Hopp 435392
+     1258,
Karsten Hopp 435392
  /**/
Karsten Hopp 435392
Karsten Hopp 435392
Karsten Hopp 435392
-- 
Karsten Hopp 435392
GUARD #1:  What, ridden on a horse?
Karsten Hopp 435392
ARTHUR:    Yes!
Karsten Hopp 435392
GUARD #1:  You're using coconuts!
Karsten Hopp 435392
ARTHUR:    What?
Karsten Hopp 435392
GUARD #1:  You've got two empty halves of coconut and you're bangin' 'em
Karsten Hopp 435392
           together.
Karsten Hopp 435392
                                  The Quest for the Holy Grail (Monty Python)
Karsten Hopp 435392
Karsten Hopp 435392
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 435392
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 435392
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 435392
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///