summaryrefslogtreecommitdiff
path: root/system/pcre2/CVE-2019-20454.patch
diff options
context:
space:
mode:
authorMax Rees <maxcrees@me.com>2020-03-16 18:32:38 -0500
committerMax Rees <maxcrees@me.com>2020-03-19 22:21:24 -0500
commit6439676870ecce7b71fff1a21eb944f911207e24 (patch)
tree65e5f39059306d5ceba88535c76f2bc2561733a5 /system/pcre2/CVE-2019-20454.patch
parent4457bb5bf106a91ed131a506269c5e09606c6f57 (diff)
downloadpackages-6439676870ecce7b71fff1a21eb944f911207e24.tar.gz
packages-6439676870ecce7b71fff1a21eb944f911207e24.tar.bz2
packages-6439676870ecce7b71fff1a21eb944f911207e24.tar.xz
packages-6439676870ecce7b71fff1a21eb944f911207e24.zip
system/pcre2: patch CVE-2019-20454 (#242)
Diffstat (limited to 'system/pcre2/CVE-2019-20454.patch')
-rw-r--r--system/pcre2/CVE-2019-20454.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/system/pcre2/CVE-2019-20454.patch b/system/pcre2/CVE-2019-20454.patch
new file mode 100644
index 000000000..bdec87294
--- /dev/null
+++ b/system/pcre2/CVE-2019-20454.patch
@@ -0,0 +1,50 @@
+Revision: 1091
+Author: ph10
+Date: Mon May 13 16:26:17 2019 UTC
+URL: https://vcs.pcre.org/pcre2?view=revision&revision=1091
+
+Fix crash when \X is used without UTF in JIT.
+
+--- a/testdata/testinput4 2019/05/11 11:43:39 1090
++++ b/testdata/testinput4 2019/05/13 16:26:17 1091
+@@ -2480,4 +2480,7 @@
+ /^(?'אABC'...)(?&אABC)/utf
+ 123123123456
+
++/\X*/
++ \xF3aaa\xE4\xEA\xEB\xFEa
++
+ # End of testinput4
+--- a/testdata/testoutput4 2019/05/11 11:43:39 1090
++++ b/testdata/testoutput4 2019/05/13 16:26:17 1091
+@@ -4012,4 +4012,8 @@
+ 0: 123123
+ 1: 123
+
++/\X*/
++ \xF3aaa\xE4\xEA\xEB\xFEa
++ 0: \xf3aaa\xe4\xea\xeb\xfea
++
+ # End of testinput4
+
+Revision: 1092
+Author: ph10
+Date: Mon May 13 16:38:18 2019 UTC
+URL: https://vcs.pcre.org/pcre2?view=revision&revision=1092
+
+Forgot this file in previous commit. Fixes JIT non-UTF bug.
+
+--- a/src/pcre2_jit_compile.c 2019/05/13 16:26:17 1091
++++ b/src/pcre2_jit_compile.c 2019/05/13 16:38:18 1092
+@@ -8571,7 +8571,10 @@
+ PCRE2_SPTR bptr;
+ uint32_t c;
+
+-GETCHARINC(c, cc);
++/* Patch by PH */
++/* GETCHARINC(c, cc); */
++
++c = *cc++;
+ #if PCRE2_CODE_UNIT_WIDTH == 32
+ if (c >= 0x110000)
+ return NULL;