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))
diff --git a/src/version.c b/src/version.c
index f4ed01a..6156c37 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 685,
+/**/
684,
/**/
683,