diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-05-04 10:33:15 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-05-04 10:33:15 +0200 |
commit | 2186ffa2c7d8a9e2cb09316a7ac9e4ade3957c2f (patch) | |
tree | 7c869d126780d802efde4d98b7a040cab032da0f | |
parent | 069dd08d8dbbbadc4e6780d5c881a24bce79a4f7 (diff) |
patch 7.4.715v7.4.715
Problem: Invalid memory access when there are illegal bytes.
Solution: Get the length from the text, not from the character. (Dominique
Pelle)
-rw-r--r-- | src/regexp_nfa.c | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c index 825f960ca7..bb55a7159b 100644 --- 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; diff --git a/src/version.c b/src/version.c index 8f994cd798..7a151bf973 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 */ /**/ + 715, +/**/ 714, /**/ 713, |