From ddfd22e5416b27e30819ba6356c6d7e9d5841bdc Mon Sep 17 00:00:00 2001 From: Karlatemp Date: Thu, 20 Oct 2022 12:58:09 +0800 Subject: [PATCH] [core] [Network] Handle non ipaddress converting caused by some unknown --- .../kotlin/network/protocol/packet/login/StatSvc.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt index 9efa9536b..4ce1364ed 100644 --- a/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt +++ b/mirai-core/src/commonMain/kotlin/network/protocol/packet/login/StatSvc.kt @@ -168,8 +168,16 @@ internal class StatSvc { ) = impl("online", client, 1L or 2 or 4, client.onlineStatus, regPushReason) { if (client.bot.configuration.protocol == BotConfiguration.MiraiProtocol.ANDROID_PHONE) { client.bot.components[ServerList].run { - uOldSSOIp = lastDisconnectedIP.toIpV4Long() - uNewSSOIp = lastConnectedIP.toIpV4Long() + kotlin.runCatching { + uOldSSOIp = lastDisconnectedIP.toIpV4Long() + uNewSSOIp = lastConnectedIP.toIpV4Long() + }.onFailure { err -> + client.bot.network.logger.warning({ + "Exception when converting ipaddress to long: ld=${lastDisconnectedIP}, lc=${lastConnectedIP}" + }, err) + uNewSSOIp = 0 + uOldSSOIp = 0 + } } } else { uOldSSOIp = 0