X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/e63825824cc406c160ccbf2b154c5d81b168604a..7ad1a2b2cc57b5f4bcb59186a9a8abcbed9f4f76:/src/src/regex.c diff --git a/src/src/regex.c b/src/src/regex.c index b401ba0d7..210620f26 100644 --- a/src/src/regex.c +++ b/src/src/regex.c @@ -79,10 +79,10 @@ for (pcre_list * ri = re_list_head; ri; ri = ri->next) for (int nn = 1; nn < n; nn++) { - PCRE2_UCHAR * cstr; - PCRE2_SIZE cslen; - pcre2_substring_get_bynumber(md, nn, &cstr, &cslen); /* uses same ctx as md */ - regex_vars[nn-1] = cstr ? CUS cstr : CUS""; + PCRE2_SIZE * ovec = pcre2_get_ovector_pointer(md); + int off = nn * 2; + int len = ovec[off + 1] - ovec[off]; + regex_vars[nn-1] = string_copyn(linebuffer + ovec[off], len); } return OK;