summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2015-06-09 20:39:24 +0200
committerBram Moolenaar <bram@vim.org>2015-06-09 20:39:24 +0200
commit05f4bebdb9adbd680724123fb8122462881eb1c5 (patch)
treea693bb6ab61b33fc47f9a9e9f911801d8408b953
parent214253e520fc5edb05853c82d03d35c5337b7904 (diff)
downloadvim-05f4bebdb9adbd680724123fb8122462881eb1c5.tar.gz
patch 7.4.736v7.4.736v7-4-736
Problem: Invalid memory access. Solution: Avoid going over the end of a NUL terminated string. (Dominique Pelle)
-rw-r--r--src/regexp.c9
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 4 deletions
diff --git a/src/regexp.c b/src/regexp.c
index 85e0458d..4ce37c42 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -1157,7 +1157,7 @@ get_coll_element(pp)
int l = 1;
char_u *p = *pp;
- if (p[1] == '.')
+ if (p[0] != NUL && p[1] == '.')
{
#ifdef FEAT_MBYTE
if (has_mbyte)
@@ -1228,8 +1228,9 @@ skip_anyof(p)
{
if (get_char_class(&p) == CLASS_NONE
&& get_equi_class(&p) == 0
- && get_coll_element(&p) == 0)
- ++p; /* It was not a class name */
+ && get_coll_element(&p) == 0
+ && *p != NUL)
+ ++p; /* it is not a class name and not NUL */
}
else
++p;
@@ -3156,7 +3157,7 @@ peekchr()
/*
* META contains everything that may be magic sometimes,
* except ^ and $ ("\^" and "\$" are only magic after
- * "\v"). We now fetch the next character and toggle its
+ * "\V"). We now fetch the next character and toggle its
* magicness. Therefore, \ is so meta-magic that it is
* not in META.
*/
diff --git a/src/version.c b/src/version.c
index f474f068..e1ee8c23 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 736,
+/**/
735,
/**/
734,