commit | 069dd08d8dbbbadc4e6780d5c881a24bce79a4f7 | [log] [tgz] |
---|---|---|
author | Bram Moolenaar <Bram@vim.org> | Mon May 04 09:56:49 2015 +0200 |
committer | Bram Moolenaar <Bram@vim.org> | Mon May 04 09:56:49 2015 +0200 |
tree | 6306d1906a7c58d4184adefc710f5ce2862ef291 | |
parent | ea98f8b4d6d2d2843b803f4c105cff1fe6fa0a90 [diff] [blame] |
patch 7.4.714 Problem: Illegal memory access when there are illegal bytes. Solution: Check the byte length of the character. (Dominique Pelle)
diff --git a/src/regexp.c b/src/regexp.c index 6ae05f8..85e0458 100644 --- a/src/regexp.c +++ b/src/regexp.c
@@ -6113,7 +6113,7 @@ { if (ireg_ic && enc_utf8) cf = utf_fold(utf_ptr2char(opnd)); - while (count < maxcount) + while (count < maxcount && (*mb_ptr2len)(scan) >= len) { for (i = 0; i < len; ++i) if (opnd[i] != scan[i])