diff options
author | Zhipeng Xie <xiezhipeng1@huawei.com> | 2019-08-20 16:33:06 +0800 |
---|---|---|
committer | Nick Wellnhofer <wellnhofer@aevum.de> | 2020-02-11 11:38:56 +0100 |
commit | 7ffcd44d7e6c46704f8af0321d9314cd26e0e18a (patch) | |
tree | 8ee90f5c0398f890163b160518079588f2bf40b5 | |
parent | e45e06de90850fcc25b997d921f1703a9be82161 (diff) | |
download | libxml2-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.c | 1 |
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; |