From 3e8fc8e1ecd505fa76e159fa703857b89725d58c Mon Sep 17 00:00:00 2001 From: Him188 <Him188@mamoe.net> Date: Tue, 8 Jun 2021 12:16:26 +0800 Subject: [PATCH] Do not pass failed `IncomingPacket` to `PacketFactory`s --- .../src/commonMain/kotlin/network/components/PacketHandler.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/mirai-core/src/commonMain/kotlin/network/components/PacketHandler.kt b/mirai-core/src/commonMain/kotlin/network/components/PacketHandler.kt index f82cb4806..51370af96 100644 --- a/mirai-core/src/commonMain/kotlin/network/components/PacketHandler.kt +++ b/mirai-core/src/commonMain/kotlin/network/components/PacketHandler.kt @@ -92,6 +92,7 @@ internal class CallPacketFactoryPacketHandler( ) : PacketHandler { override suspend fun handlePacket(incomingPacket: IncomingPacket) { + if (incomingPacket.exception != null) return // failure val factory = KnownPacketFactories.findPacketFactory(incomingPacket.commandName) ?: return factory.cast<PacketFactory<Packet?>>().run { when (this) {