From b38f82523f70579f2a81ccbb7bdf1c15488592fa Mon Sep 17 00:00:00 2001 From: Him188 Date: Sun, 2 Feb 2020 18:04:19 +0800 Subject: [PATCH] Fix expcetion when length=0 --- .../mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt index 42e29a2f7..af54ecc2c 100644 --- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt +++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt @@ -276,6 +276,11 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler while (rawInput.remaining >= length) { parsePacketAsync(rawInput.readPacket(length)) + if (rawInput.remaining == 0L) { + cachedPacket.value = null // 表示包长度正好 + cachedPacketTimeoutJob?.cancel() + return + } length = rawInput.readInt() - 4 }