Fix parsing exception causing infinite loop

Fixes SMACK-613
This commit is contained in:
Florian Schmaus 2014-10-21 21:55:47 +02:00
parent 039fac7ab7
commit 674df78741
1 changed files with 12 additions and 0 deletions

View File

@ -160,6 +160,10 @@ class PacketReader {
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;
}
connection.processPacket(packet);
@ -174,6 +178,10 @@ class PacketReader {
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;
}
connection.processPacket(iq);
@ -188,6 +196,10 @@ class PacketReader {
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;
}
connection.processPacket(presence);