updated for version 7.4.685
Problem: When there are illegal utf-8 characters the old regexp engine may
go past the end of a string.
Solution: Only advance to the end of the string. (Dominique Pelle)
diff --git a/src/regexp.c b/src/regexp.c
index bae547c..961796b 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -4782,7 +4782,8 @@
/* When only a composing char is given match at any
* position where that composing char appears. */
status = RA_NOMATCH;
- for (i = 0; reginput[i] != NUL; i += utf_char2len(inpc))
+ for (i = 0; reginput[i] != NUL;
+ i += utf_ptr2len(reginput + i))
{
inpc = mb_ptr2char(reginput + i);
if (!utf_iscomposing(inpc))