From 04a72c0e03e2c0e4e6ef71b366d021dd5ba3c125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 9 Oct 2026 14:11:53 +0200 Subject: [PATCH] proAdhoc: Don't crash on a DISCONNECT for an unknown IP in GameMode Co-Authored-By: Claude Opus 5.5 (1M context) --- Core/HLE/proAdhoc.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Core/HLE/proAdhoc.cpp b/Core/HLE/proAdhoc.cpp index 6886a4540a..595b2f0e01 100644 --- a/Core/HLE/proAdhoc.cpp +++ b/Core/HLE/proAdhoc.cpp @@ -1672,11 +1672,14 @@ int friendFinder() { if (adhocctlCurrentMode == ADHOCCTL_MODE_GAMEMODE) { auto peer = findFriendByIP(packet->ip); - for (auto& gma : replicaGameModeAreas) - if (isMacMatch(&gma.mac, &peer->mac_addr)) { - gma.updateTimestamp = 0; - break; + if (peer) { + for (auto& gma : replicaGameModeAreas) { + if (isMacMatch(&gma.mac, &peer->mac_addr)) { + gma.updateTimestamp = 0; + break; + } } + } } // Delete User by IP, should delete by MAC since IP can be shared (behind NAT) isn't?