diff --git a/Source/Core/Core/HW/EXI/BBA/BuiltIn.cpp b/Source/Core/Core/HW/EXI/BBA/BuiltIn.cpp index 6f84fe1010..4dfc0a30ee 100644 --- a/Source/Core/Core/HW/EXI/BBA/BuiltIn.cpp +++ b/Source/Core/Core/HW/EXI/BBA/BuiltIn.cpp @@ -520,6 +520,13 @@ void CEXIETHERNET::BuiltInBBAInterface::HandleUPnPClient() return; } + if (m_current_ip == ref->from.sin_addr.s_addr) + { + ref->tcp_socket.disconnect(); + WARN_LOG_FMT(SP1, "Ignoring UPnP request to itself"); + return; + } + ref->delay = GetTickCountStd(); ref->ip = ref->from.sin_addr.s_addr; ref->local = ref->to.sin_port;