From 45da348676335afb9399f611775cb673155da167 Mon Sep 17 00:00:00 2001 From: Fire Cube Date: Mon, 26 May 2025 22:17:49 +0200 Subject: [PATCH] fix wrong nullptr check --- src/core/libraries/kernel/equeue.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/core/libraries/kernel/equeue.cpp b/src/core/libraries/kernel/equeue.cpp index 0f10c07be..e3ba48843 100644 --- a/src/core/libraries/kernel/equeue.cpp +++ b/src/core/libraries/kernel/equeue.cpp @@ -269,14 +269,19 @@ int PS4_SYSV_ABI sceKernelWaitEqueue(SceKernelEqueue eq, SceKernelEvent* ev, int // When the timeout is nullptr, we wait indefinitely if (eq->HasSmallTimer()) { - *out = eq->WaitForSmallTimer(ev, num, (timo != nullptr) ? *timo : 0); + if (timo == nullptr) { + *out = eq->WaitForSmallTimer(ev, num, 0); + } else { + ASSERT(*timo); + *out = eq->WaitForSmallTimer(ev, num, *timo); + } } else { - if (*timo == 0) { - // Only events that have already arrived at the time of this function call can be - // received + if (timo == nullptr) { + *out = eq->WaitForEvents(ev, num, 0); + } else if (*timo == 0) { *out = eq->GetTriggeredEvents(ev, num); } else { - *out = eq->WaitForEvents(ev, num, (timo != nullptr) ? *timo : 0); + *out = eq->WaitForEvents(ev, num, *timo); } }