diff --git a/build.gradle b/build.gradle index aa7969c75..b4c0a2039 100644 --- a/build.gradle +++ b/build.gradle @@ -334,4 +334,4 @@ def getAndroidHome() { def androidHome = new File(androidHomeEnv) if (!androidHome.isDirectory()) throw new Exception("Environment variable ANDROID_HOME is not pointing to a directory") return androidHome -} \ No newline at end of file +} diff --git a/resources/releasedocs/changelog.html b/resources/releasedocs/changelog.html index e7ad391c7..e499364da 100644 --- a/resources/releasedocs/changelog.html +++ b/resources/releasedocs/changelog.html @@ -141,6 +141,17 @@ hr {
+

4.0.5 -- 2014-10-22

+ +

Bug +

+ +

4.0.4 -- 2014-09-05

Bug 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 95a95fa7a..404b7b8f2 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 @@ -1032,6 +1032,10 @@ public class XMPPTCPConnection extends AbstractXMPPConnection { if (callback != null) { callback.handleUnparsablePacket(message); } + // The parser is now at the end tag of the unparsable stanza. We need to advance to the next + // start tag in order to avoid an exception which would again lead to the execution of the + // catch block becoming effectively an endless loop. + eventType = parser.next(); continue; } finally { clientHandledStanzasCount = SMUtils.incrementHeight(clientHandledStanzasCount);