summaryrefslogtreecommitdiff
path: root/system/libxml2/CVE-2019-20388.patch
diff options
context:
space:
mode:
authorMax Rees <maxcrees@me.com>2020-03-03 14:33:49 +0000
committerMax Rees <maxcrees@me.com>2020-03-09 21:27:48 -0500
commit1ca9f51b0901a84b56258b19a78acf4c01f93eb5 (patch)
tree41c58a426fab16eb544dbd1a017d152c502a800b /system/libxml2/CVE-2019-20388.patch
parent680d3d2f67370934c1aff033819eef438bcb6f94 (diff)
downloadpackages-1ca9f51b0901a84b56258b19a78acf4c01f93eb5.tar.gz
packages-1ca9f51b0901a84b56258b19a78acf4c01f93eb5.tar.bz2
packages-1ca9f51b0901a84b56258b19a78acf4c01f93eb5.tar.xz
packages-1ca9f51b0901a84b56258b19a78acf4c01f93eb5.zip
system/libxml2: patch CVE-2019-20388 and CVE-2020-7595 (#234)
Diffstat (limited to 'system/libxml2/CVE-2019-20388.patch')
-rw-r--r--system/libxml2/CVE-2019-20388.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/system/libxml2/CVE-2019-20388.patch b/system/libxml2/CVE-2019-20388.patch
new file mode 100644
index 000000000..49ff6fbe0
--- /dev/null
+++ b/system/libxml2/CVE-2019-20388.patch
@@ -0,0 +1,33 @@
+From 7ffcd44d7e6c46704f8af0321d9314cd26e0e18a Mon Sep 17 00:00:00 2001
+From: Zhipeng Xie <xiezhipeng1@huawei.com>
+Date: Tue, 20 Aug 2019 16:33:06 +0800
+Subject: [PATCH] Fix memory leak in xmlSchemaValidateStream
+
+When ctxt->schema is NULL, xmlSchemaSAXPlug->xmlSchemaPreRun
+alloc a new schema for ctxt->schema and set vctxt->xsiAssemble
+to 1. Then xmlSchemaVStart->xmlSchemaPreRun initialize
+vctxt->xsiAssemble to 0 again which cause the alloced schema
+can not be freed anymore.
+
+Found with libFuzzer.
+
+Signed-off-by: Zhipeng Xie <xiezhipeng1@huawei.com>
+---
+ xmlschemas.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/xmlschemas.c b/xmlschemas.c
+index 301c8449..39d92182 100644
+--- a/xmlschemas.c
++++ b/xmlschemas.c
+@@ -28090,7 +28090,6 @@ xmlSchemaPreRun(xmlSchemaValidCtxtPtr vctxt) {
+ vctxt->nberrors = 0;
+ vctxt->depth = -1;
+ vctxt->skipDepth = -1;
+- vctxt->xsiAssemble = 0;
+ vctxt->hasKeyrefs = 0;
+ #ifdef ENABLE_IDC_NODE_TABLES_TEST
+ vctxt->createIDCNodeTables = 1;
+--
+2.24.1
+