diff --git a/Core/HLE/sceKernelThread.cpp b/Core/HLE/sceKernelThread.cpp index 37a2f9cceb..5948be07fd 100644 --- a/Core/HLE/sceKernelThread.cpp +++ b/Core/HLE/sceKernelThread.cpp @@ -1603,7 +1603,7 @@ u32 sceKernelGetThreadmanIdList(u32 type, u32 readBufPtr, u32 readBufSize, u32 i return SCE_KERNEL_ERROR_ILLEGAL_ADDR; } DEBUG_LOG(SCEKERNEL, "sceKernelGetThreadmanIdList(%i, %08x, %i, %08x)", type, readBufPtr, readBufSize, idCountPtr); - if (!Memory::IsValidAddress(readBufPtr)) { + if (!Memory::IsValidAddress(readBufPtr) && readBufSize > 0) { // Crashes on a PSP. return SCE_KERNEL_ERROR_ILLEGAL_ARGUMENT; }