diff --git a/tinyxml2.cpp b/tinyxml2.cpp index 2d3a1f7..e1853f0 100755 --- a/tinyxml2.cpp +++ b/tinyxml2.cpp @@ -855,7 +855,6 @@ char* XMLNode::ParseDeep( char* p, StrPair* parentEnd ) p = node->ParseDeep( p, &endTag ); if ( !p ) { DeleteNode( node ); - node = 0; if ( !_document->Error() ) { _document->SetError( XML_ERROR_PARSING, 0, 0 ); } @@ -890,16 +889,11 @@ char* XMLNode::ParseDeep( char* p, StrPair* parentEnd ) } if ( mismatch ) { _document->SetError( XML_ERROR_MISMATCHED_ELEMENT, node->Value(), 0 ); - p = 0; + DeleteNode( node ); + break; } } - if ( p == 0 ) { - DeleteNode( node ); - node = 0; - } - if ( node ) { - this->InsertEndChild( node ); - } + InsertEndChild( node ); } return 0; }