summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhipeng Xie <xiezhipeng1@huawei.com>2019-08-20 16:33:06 +0800
committerNick Wellnhofer <wellnhofer@aevum.de>2020-02-11 11:38:56 +0100
commit7ffcd44d7e6c46704f8af0321d9314cd26e0e18a (patch)
tree8ee90f5c0398f890163b160518079588f2bf40b5
parente45e06de90850fcc25b997d921f1703a9be82161 (diff)
downloadlibxml2-7ffcd44d7e6c46704f8af0321d9314cd26e0e18a.tar.gz
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>
-rw-r--r--xmlschemas.c1
1 files changed, 0 insertions, 1 deletions
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;