From 6c5791b1fe8b9f999d8a0b8c5566f33c40d22e65 Mon Sep 17 00:00:00 2001 From: Clansty Date: Thu, 14 Nov 2024 22:58:20 +0800 Subject: [PATCH] [F] UpsertUserAll Crash with usernames longer than 8 chars --- .../aqua/sega/maimai2/handler/UpsertUserAllHandler.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/UpsertUserAllHandler.kt b/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/UpsertUserAllHandler.kt index aed1b37e..d4e34807 100644 --- a/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/UpsertUserAllHandler.kt +++ b/src/main/java/icu/samnyan/aqua/sega/maimai2/handler/UpsertUserAllHandler.kt @@ -52,8 +52,15 @@ class UpsertUserAllHandler( if (!userName.isValidUsername()) { // Maybe it's encoded - userName = String(userName.toByteArray(Charsets.ISO_8859_1), Charsets.UTF_8) - if (!userName.isValidUsername()) 400 - "Invalid username" + val decodeUserName = String(userName.toByteArray(Charsets.ISO_8859_1), Charsets.UTF_8) + if (userName.isValidUsername()) { + userName = decodeUserName + } else { + logger.warn("Invalid username: $userName") + // Maybe it's from some self-made import tools or modified game + // So apply it if user not in database + userName = userData?.userName ?: userName + } } })