Only check ele pointer once
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 7b975c9..fd00194 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -862,19 +862,19 @@
}
XMLElement* ele = node->ToElement();
- // We read the end tag. Return it to the parent.
- if ( ele && ele->ClosingType() == XMLElement::CLOSING ) {
- if ( parentEnd ) {
- ele->_value.TransferTo( parentEnd );
- }
- node->_memPool->SetTracked(); // created and then immediately deleted.
- DeleteNode( node );
- return p;
- }
-
- // Handle an end tag returned to this level.
- // And handle a bunch of annoying errors.
if ( ele ) {
+ // We read the end tag. Return it to the parent.
+ if ( ele->ClosingType() == XMLElement::CLOSING ) {
+ if ( parentEnd ) {
+ ele->_value.TransferTo( parentEnd );
+ }
+ node->_memPool->SetTracked(); // created and then immediately deleted.
+ DeleteNode( node );
+ return p;
+ }
+
+ // Handle an end tag returned to this level.
+ // And handle a bunch of annoying errors.
bool mismatch = false;
if ( endTag.Empty() && ele->ClosingType() == XMLElement::OPEN ) {
mismatch = true;