diff options
author | ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069> | 2020-02-25 16:47:36 +0000 |
---|---|---|
committer | ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069> | 2020-02-25 16:47:36 +0000 |
commit | f82582217bf85600b850b862148b8cb08bb7a2e5 (patch) | |
tree | cd7187496c2fbb6c82671fd7018772d23f38f521 | |
parent | 2e54eab2c5b90d1e798b7de68651d5428c782b70 (diff) | |
download | pcre2-f82582217bf85600b850b862148b8cb08bb7a2e5.tar.gz |
Fix bug introduced in recent UCP changes (writing outside starting code unit
bitmap for non-UTF caseless character U+00DF).
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@1229 6239d852-aaf2-0410-a92c-79f79f948069
-rw-r--r-- | src/pcre2_study.c | 2 | ||||
-rw-r--r-- | testdata/testinput5 | 2 | ||||
-rw-r--r-- | testdata/testoutput5 | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/src/pcre2_study.c b/src/pcre2_study.c index 02d1c08..fc29969 100644 --- a/src/pcre2_study.c +++ b/src/pcre2_study.c @@ -824,7 +824,7 @@ if (caseless) (void)PRIV(ord2utf)(c, buff); SET_BIT(buff[0]); } - else SET_BIT(c); + else if (c < 256) SET_BIT(c); #else /* 16-bit or 32-bit mode */ if (c > 0xff) SET_BIT(0xff); else SET_BIT(c); #endif diff --git a/testdata/testinput5 b/testdata/testinput5 index d90b66d..b3fcfef 100644 --- a/testdata/testinput5 +++ b/testdata/testinput5 @@ -2179,4 +2179,6 @@ /\p{Any}*xyz/I +/(|ß)7/caseless,ucp + # End of testinput5 diff --git a/testdata/testoutput5 b/testdata/testoutput5 index ecf01fb..5bdf873 100644 --- a/testdata/testoutput5 +++ b/testdata/testoutput5 @@ -4938,4 +4938,6 @@ Overall options: anchored Last code unit = 'z' Subject length lower bound = 3 +/(|ß)7/caseless,ucp + # End of testinput5 |