[libxml2] Fix memory leak in xmlParseBalancedChunkMemoryRecover



commit 5a02583c7e683896d84878bd90641d8d9b0d0549
Author: Zhipeng Xie <xiezhipeng1 huawei com>
Date:   Wed Aug 7 17:39:17 2019 +0800

    Fix memory leak in xmlParseBalancedChunkMemoryRecover
    
    When doc is NULL, namespace created in xmlTreeEnsureXMLDecl
    is bind to newDoc->oldNs, in this case, set newDoc->oldNs to
    NULL and free newDoc will cause a memory leak.
    
    Found with libFuzzer.
    
    Closes #82.

 parser.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/parser.c b/parser.c
index 1ce1ccf1..26d9f4e3 100644
--- a/parser.c
+++ b/parser.c
@@ -13894,7 +13894,8 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
     xmlFreeParserCtxt(ctxt);
     newDoc->intSubset = NULL;
     newDoc->extSubset = NULL;
-    newDoc->oldNs = NULL;
+    if(doc != NULL)
+       newDoc->oldNs = NULL;
     xmlFreeDoc(newDoc);
 
     return(ret);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]