diff options
author | Remi Collet <remi@remirepo.net> | 2019-08-28 14:39:59 +0200 |
---|---|---|
committer | Remi Collet <remi@remirepo.net> | 2019-08-28 14:39:59 +0200 |
commit | 3eac2688eee6178bdc64ec63db156efd8c1c7444 (patch) | |
tree | 3414e33efb68aaa493a1e820a0e10ba00cfd0d63 /php-bug78380.patch | |
parent | 9f38c4dd4597e41bdd0747f7e1ab8c4cfb614487 (diff) |
From 7.1.32
- mbstring:
Fix CVE-2019-13224 don't allow different encodings for onig_new_deluxe
- pcre:
Fix #75457 heap use-after-free in pcrelib
Diffstat (limited to 'php-bug78380.patch')
-rw-r--r-- | php-bug78380.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/php-bug78380.patch b/php-bug78380.patch new file mode 100644 index 0000000..f25a780 --- /dev/null +++ b/php-bug78380.patch @@ -0,0 +1,47 @@ +From 2c8138bda7cb4a98ee34fad4815538dd463e57f9 Mon Sep 17 00:00:00 2001 +From: Stanislav Malyshev <stas@php.net> +Date: Sat, 24 Aug 2019 23:11:45 -0700 +Subject: [PATCH 1/3] Fix CVE-2019-13224: don't allow different encodings for + onig_new_deluxe() + +Backport from https://github.com/kkos/oniguruma/commit/0f7f61ed1b7b697e283e37bd2d731d0bd57adb55 + +(cherry picked from commit 1258303e66d8dede4f02347334b9f6576e98a21b) +--- + ext/mbstring/oniguruma/regext.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ext/mbstring/oniguruma/regext.c b/ext/mbstring/oniguruma/regext.c +index b1b957b40c..b108e638c6 100644 +--- a/ext/mbstring/oniguruma/regext.c ++++ b/ext/mbstring/oniguruma/regext.c +@@ -29,6 +29,7 @@ + + #include "regint.h" + ++#if 0 + static void + conv_ext0be32(const UChar* s, const UChar* end, UChar* conv) + { +@@ -158,6 +159,7 @@ conv_encoding(OnigEncoding from, OnigEncoding to, const UChar* s, const UChar* e + + return ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION; + } ++#endif + + extern int + onig_new_deluxe(regex_t** reg, const UChar* pattern, const UChar* pattern_end, +@@ -169,9 +171,7 @@ onig_new_deluxe(regex_t** reg, const UChar* pattern, const UChar* pattern_end, + if (IS_NOT_NULL(einfo)) einfo->par = (UChar* )NULL; + + if (ci->pattern_enc != ci->target_enc) { +- r = conv_encoding(ci->pattern_enc, ci->target_enc, pattern, pattern_end, +- &cpat, &cpat_end); +- if (r) return r; ++ return ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION; + } + else { + cpat = (UChar* )pattern; +-- +2.20.1 + |