153aa9179Sopenharmony_ciFrom b01853fb42257136461d1b45e45ecaa3f3ecd570 Mon Sep 17 00:00:00 2001
253aa9179Sopenharmony_ciFrom: panxiaohe <panxiaohe@huawei.com>
353aa9179Sopenharmony_ciDate: Tue, 9 Nov 2021 14:27:24 +0800
453aa9179Sopenharmony_ciSubject: [PATCH] Fix memleaks in xmlXIncludeProcessFlags
553aa9179Sopenharmony_ci
653aa9179Sopenharmony_ci---
753aa9179Sopenharmony_ci tree.c | 18 +++++++++++++-----
853aa9179Sopenharmony_ci 1 file changed, 13 insertions(+), 5 deletions(-)
953aa9179Sopenharmony_ci
1053aa9179Sopenharmony_cidiff --git a/tree.c b/tree.c
1153aa9179Sopenharmony_ciindex 17e59d7..64799fb 100644
1253aa9179Sopenharmony_ci--- a/tree.c
1353aa9179Sopenharmony_ci+++ b/tree.c
1453aa9179Sopenharmony_ci@@ -3720,11 +3720,19 @@ xmlFreeNodeList(xmlNodePtr cur) {
1553aa9179Sopenharmony_ci 	     * Otherwise the node name might come from the document's
1653aa9179Sopenharmony_ci 	     * dictionary
1753aa9179Sopenharmony_ci 	     */
1853aa9179Sopenharmony_ci-	    if ((cur->name != NULL) &&
1953aa9179Sopenharmony_ci-		(cur->type != XML_TEXT_NODE) &&
2053aa9179Sopenharmony_ci-		(cur->type != XML_COMMENT_NODE))
2153aa9179Sopenharmony_ci-		DICT_FREE(cur->name)
2253aa9179Sopenharmony_ci-	    xmlFree(cur);
2353aa9179Sopenharmony_ci+	    if ((cur->type == XML_DOCUMENT_NODE) ||
2453aa9179Sopenharmony_ci+#ifdef LIBXML_DOCB_ENABLED
2553aa9179Sopenharmony_ci+		(cur->type == XML_DOCB_DOCUMENT_NODE) ||
2653aa9179Sopenharmony_ci+#endif
2753aa9179Sopenharmony_ci+		(cur->type == XML_HTML_DOCUMENT_NODE)) {
2853aa9179Sopenharmony_ci+		xmlFreeDoc((xmlDocPtr) cur);
2953aa9179Sopenharmony_ci+	    } else {
3053aa9179Sopenharmony_ci+		if ((cur->name != NULL) &&
3153aa9179Sopenharmony_ci+		    (cur->type != XML_TEXT_NODE) &&
3253aa9179Sopenharmony_ci+		    (cur->type != XML_COMMENT_NODE))
3353aa9179Sopenharmony_ci+			DICT_FREE(cur->name)
3453aa9179Sopenharmony_ci+		xmlFree(cur);
3553aa9179Sopenharmony_ci+	    }
3653aa9179Sopenharmony_ci 	}
3753aa9179Sopenharmony_ci 
3853aa9179Sopenharmony_ci         if (next != NULL) {
3953aa9179Sopenharmony_ci-- 
4053aa9179Sopenharmony_ci1.8.3.1
4153aa9179Sopenharmony_ci
42