From: Junio C Hamano Date: Fri, 25 Feb 2022 23:47:38 +0000 (-0800) Subject: Merge branch 'rs/pcre-invalid-utf8-fix-fix' X-Git-Tag: v2.36.0-rc0~105 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5c4f3804a73933504e76b6ebdd946a2db3b1d214;p=thirdparty%2Fgit.git Merge branch 'rs/pcre-invalid-utf8-fix-fix' Workaround we have for versions of PCRE2 before their version 10.36 were in effect only for their versions newer than 10.36 by mistake, which has been corrected. * rs/pcre-invalid-utf8-fix-fix: grep: fix triggering PCRE2_NO_START_OPTIMIZE workaround --- 5c4f3804a73933504e76b6ebdd946a2db3b1d214 diff --cc grep.c index d5ad9617d9,29deb85904..82eb7da102 --- a/grep.c +++ b/grep.c @@@ -292,10 -382,11 +292,10 @@@ static void compile_pcre2_pattern(struc } options |= PCRE2_CASELESS; } - if (!opt->ignore_locale && is_utf8_locale() && has_non_ascii(p->pattern) && - !(!opt->ignore_case && (p->fixed || p->is_fixed))) + if (!opt->ignore_locale && is_utf8_locale() && !literal) options |= (PCRE2_UTF | PCRE2_MATCH_INVALID_UTF); - #ifdef GIT_PCRE2_VERSION_10_36_OR_HIGHER + #ifndef GIT_PCRE2_VERSION_10_36_OR_HIGHER /* Work around https://bugs.exim.org/show_bug.cgi?id=2642 fixed in 10.36 */ if (PCRE2_MATCH_INVALID_UTF && options & (PCRE2_UTF | PCRE2_CASELESS)) options |= PCRE2_NO_START_OPTIMIZE;