diff --git a/Core/HLE/sceKernelMsgPipe.cpp b/Core/HLE/sceKernelMsgPipe.cpp index 30eee3ab98..10caba282e 100644 --- a/Core/HLE/sceKernelMsgPipe.cpp +++ b/Core/HLE/sceKernelMsgPipe.cpp @@ -610,6 +610,12 @@ void __KernelMsgPipeEndCallback(SceUID threadID, SceUID prevCallbackId) SceUID uid = __KernelGetWaitID(threadID, WAITTYPE_MSGPIPE, error); MsgPipe *ko = uid == 0 ? NULL : kernelObjects.Get(uid, error); + if (ko == NULL) + { + ERROR_LOG_REPORT(SCEKERNEL, "__KernelMsgPipeEndCallback: Invalid object"); + return; + } + switch (waitValue) { case MSGPIPE_WAIT_VALUE_SEND: