Karsten Hopp 7427c6
To: vim_dev@googlegroups.com
Karsten Hopp 7427c6
Subject: Patch 7.4.825
Karsten Hopp 7427c6
Fcc: outbox
Karsten Hopp 7427c6
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 7427c6
Mime-Version: 1.0
Karsten Hopp 7427c6
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 7427c6
Content-Transfer-Encoding: 8bit
Karsten Hopp 7427c6
------------
Karsten Hopp 7427c6
Karsten Hopp 7427c6
Patch 7.4.825
Karsten Hopp 7427c6
Problem:    Invalid memory access for ":syn keyword x a[".
Karsten Hopp 7427c6
Solution:   Do not skip over the NUL. (Dominique Pelle)
Karsten Hopp 7427c6
Files:      src/syntax.c
Karsten Hopp 7427c6
Karsten Hopp 7427c6
Karsten Hopp 7427c6
*** ../vim-7.4.824/src/syntax.c	2015-08-11 19:13:55.142175641 +0200
Karsten Hopp 7427c6
--- src/syntax.c	2015-08-13 22:52:20.709498467 +0200
Karsten Hopp 7427c6
***************
Karsten Hopp 7427c6
*** 4873,4883 ****
Karsten Hopp 7427c6
  			if (p[1] == NUL)
Karsten Hopp 7427c6
  			{
Karsten Hopp 7427c6
  			    EMSG2(_("E789: Missing ']': %s"), kw);
Karsten Hopp 7427c6
! 			    kw = p + 2;		/* skip over the NUL */
Karsten Hopp 7427c6
! 			    break;
Karsten Hopp 7427c6
  			}
Karsten Hopp 7427c6
  			if (p[1] == ']')
Karsten Hopp 7427c6
  			{
Karsten Hopp 7427c6
  			    kw = p + 1;		/* skip over the "]" */
Karsten Hopp 7427c6
  			    break;
Karsten Hopp 7427c6
  			}
Karsten Hopp 7427c6
--- 4873,4888 ----
Karsten Hopp 7427c6
  			if (p[1] == NUL)
Karsten Hopp 7427c6
  			{
Karsten Hopp 7427c6
  			    EMSG2(_("E789: Missing ']': %s"), kw);
Karsten Hopp 7427c6
! 			    goto error;
Karsten Hopp 7427c6
  			}
Karsten Hopp 7427c6
  			if (p[1] == ']')
Karsten Hopp 7427c6
  			{
Karsten Hopp 7427c6
+ 			    if (p[2] != NUL)
Karsten Hopp 7427c6
+ 			    {
Karsten Hopp 7427c6
+ 				EMSG3(_("E890: trailing char after ']': %s]%s"),
Karsten Hopp 7427c6
+ 								kw, &p[2]);
Karsten Hopp 7427c6
+ 				goto error;
Karsten Hopp 7427c6
+ 			    }
Karsten Hopp 7427c6
  			    kw = p + 1;		/* skip over the "]" */
Karsten Hopp 7427c6
  			    break;
Karsten Hopp 7427c6
  			}
Karsten Hopp 7427c6
***************
Karsten Hopp 7427c6
*** 4898,4904 ****
Karsten Hopp 7427c6
  		    }
Karsten Hopp 7427c6
  		}
Karsten Hopp 7427c6
  	    }
Karsten Hopp 7427c6
! 
Karsten Hopp 7427c6
  	    vim_free(keyword_copy);
Karsten Hopp 7427c6
  	    vim_free(syn_opt_arg.cont_in_list);
Karsten Hopp 7427c6
  	    vim_free(syn_opt_arg.next_list);
Karsten Hopp 7427c6
--- 4903,4909 ----
Karsten Hopp 7427c6
  		    }
Karsten Hopp 7427c6
  		}
Karsten Hopp 7427c6
  	    }
Karsten Hopp 7427c6
! error:
Karsten Hopp 7427c6
  	    vim_free(keyword_copy);
Karsten Hopp 7427c6
  	    vim_free(syn_opt_arg.cont_in_list);
Karsten Hopp 7427c6
  	    vim_free(syn_opt_arg.next_list);
Karsten Hopp 7427c6
*** ../vim-7.4.824/src/version.c	2015-08-12 22:56:53.581637421 +0200
Karsten Hopp 7427c6
--- src/version.c	2015-08-13 22:45:24.574614004 +0200
Karsten Hopp 7427c6
***************
Karsten Hopp 7427c6
*** 743,744 ****
Karsten Hopp 7427c6
--- 743,746 ----
Karsten Hopp 7427c6
  {   /* Add new patch number below this line */
Karsten Hopp 7427c6
+ /**/
Karsten Hopp 7427c6
+     825,
Karsten Hopp 7427c6
  /**/
Karsten Hopp 7427c6
Karsten Hopp 7427c6
-- 
Karsten Hopp 7427c6
FATHER:    You killed eight wedding guests in all!
Karsten Hopp 7427c6
LAUNCELOT: Er, Well ... the thing is ... I thought your son was a lady.
Karsten Hopp 7427c6
FATHER:    I can understand that.
Karsten Hopp 7427c6
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
Karsten Hopp 7427c6
Karsten Hopp 7427c6
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 7427c6
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 7427c6
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 7427c6
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///