1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-02-27 17:57:22 +03:00

fixed problem with memory leak on text nodes in DTD (bug 148965) with

* tree.c: fixed problem with memory leak on text nodes in DTD
  (bug 148965) with patch provided by Darrell Kindred
This commit is contained in:
William M. Brack 2004-08-03 16:42:37 +00:00
parent d43cdcd6a2
commit 18a04f2a3c
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
Tue Aug 3 09:42:31 PDT 2004 William Brack <wbrack@mmm.com.hk>
* tree.c: fixed problem with memory leak on text nodes in DTD
(bug 148965) with patch provided by Darrell Kindred
Tue Aug 3 08:14:44 PDT 2004 William Brack <wbrack@mmm.com.hk>
* HTMLparser.c: fixed initialisation problem for htmlReadMemory

9
tree.c
View File

@ -1020,12 +1020,15 @@ xmlFreeDtd(xmlDtdPtr cur) {
xmlNodePtr next, c = cur->children;
/*
* Cleanup all the DTD comments they are not in the DTD
* indexes.
* Cleanup all nodes which are not part of the specific lists
* of notations, elements, attributes and entities.
*/
while (c != NULL) {
next = c->next;
if ((c->type == XML_COMMENT_NODE) || (c->type == XML_PI_NODE)) {
if ((c->type != XML_NOTATION_NODE) &&
(c->type != XML_ELEMENT_DECL) &&
(c->type != XML_ATTRIBUTE_DECL) &&
(c->type != XML_ENTITY_DECL)) {
xmlUnlinkNode(c);
xmlFreeNode(c);
}