46 lines
1.3 KiB
Diff
46 lines
1.3 KiB
Diff
From ad793dcb677988667b2d23e3fd4480b44113fdd1 Mon Sep 17 00:00:00 2001
|
|
From: "K.Kosako" <kosako@sofnec.co.jp>
|
|
Date: Thu, 27 Jun 2019 17:25:26 +0900
|
|
Subject: [PATCH] Fix CVE-2019-13224: don't allow different encodings for
|
|
onig_new_deluxe()
|
|
|
|
Signed-off-by: hanxinke <hanxinke@huawei.com>
|
|
---
|
|
src/regext.c | 6 +++---
|
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/regext.c b/src/regext.c
|
|
index 996d043..de122c7 100644
|
|
--- a/src/regext.c
|
|
+++ b/src/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 != 0) return r;
|
|
+ return ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION;
|
|
}
|
|
else {
|
|
cpat = (UChar* )pattern;
|
|
--
|
|
2.0.1
|
|
|