diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java index 588af4c1e..07541e7cb 100644 --- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java +++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java @@ -369,7 +369,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece final Element result = MessageArchiveService.Version.findResult(original); final MessageArchiveService.Query query = result == null ? null : mXmppConnectionService.getMessageArchiveService().findQuery(result.getAttribute("queryid")); if (query != null && query.validFrom(original.getFrom())) { - Pair f = original.getForwardedMessagePacket("result", query.version.namespace); + final Pair f = original.getForwardedMessagePacket("result", query.version.namespace); if (f == null) { return; } @@ -377,6 +377,9 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece packet = f.first; serverMsgId = result.getAttribute("id"); query.incrementMessageCount(); + if (handleErrorMessage(account, packet)) { + return; + } } else if (query != null) { Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": received mam result from invalid sender"); return;