|
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 ///
|