diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java index 09fff0b3c..95a95fa7a 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java @@ -1010,7 +1010,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection { try { initalOpenStreamSend.checkIfSuccessOrWait(); int eventType = parser.getEventType(); - while (!done && eventType != XmlPullParser.END_DOCUMENT) { + while (!done) { switch (eventType) { case XmlPullParser.START_TAG: final String name = parser.getName(); @@ -1207,6 +1207,11 @@ public class XMPPTCPConnection extends AbstractXMPPConnection { disconnect(); } break; + case XmlPullParser.END_DOCUMENT: + // This should not happen, log a warning and disconnect() + LOGGER.warning("Got END_DOCUMENT, aborting parsing"); + disconnect(); + break; } eventType = parser.next(); }