changeset 6787:5caf46fd6e24 v7.4.715

patch 7.4.715 Problem: Invalid memory access when there are illegal bytes. Solution: Get the length from the text, not from the character. (Dominique Pelle)
author Bram Moolenaar <bram@vim.org>
date Mon, 04 May 2015 10:33:15 +0200
parents 51fbaeb82b0b
children 6ea30831ef74
files src/regexp_nfa.c src/version.c
diffstat 2 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -6602,7 +6602,7 @@ nfa_regmatch(prog, start, submatch, m)
 		/* If ireg_icombine is not set only skip over the character
 		 * itself.  When it is set skip over composing characters. */
 		if (result && enc_utf8 && !ireg_icombine)
-		    clen = utf_char2len(curc);
+		    clen = utf_ptr2len(reginput);
 #endif
 		ADD_STATE_IF_MATCH(t->state);
 		break;
--- 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 */
 /**/
+    715,
+/**/
     714,
 /**/
     713,