From 9bac29d0418ed8ef547faa97cbc2ba98a56322ee Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 4 Apr 2026 13:40:05 +0400 Subject: [PATCH] Catch JsonConvert_DeserializeObject exceptions too --- src/Hooks/MultiplayerStatusModelHooks.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Hooks/MultiplayerStatusModelHooks.cpp b/src/Hooks/MultiplayerStatusModelHooks.cpp index 996325a..32ce198 100644 --- a/src/Hooks/MultiplayerStatusModelHooks.cpp +++ b/src/Hooks/MultiplayerStatusModelHooks.cpp @@ -28,8 +28,14 @@ MAKE_AUTO_HOOK_FIND_VERBOSE(JsonConvert_DeserializeObject_MultiplayerStatusData, return MultiplayerCore::Models::MpStatusData::New_ctor(value); } else { DEBUG("JsonConvert_DeserializeObject_MultiplayerStatusData orig call"); - // call orig here, remember to pass the info parameter to your orig call! - return JsonConvert_DeserializeObject_MultiplayerStatusData(value, info); + try { + // call orig here, remember to pass the info parameter to your orig call! + return JsonConvert_DeserializeObject_MultiplayerStatusData(value, info); + } catch (...) { + WARNING("JsonConvert_DeserializeObject_MultiplayerStatusData exception caught, we have invalid json somewhere, printing backtrace for debugging..."); + Paper::Logger::Backtrace(40); + return nullptr; + } } }