diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index 72b63b2733..5bcc701393 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -1267,7 +1267,7 @@ static PSPModule *__KernelLoadELFFromPtr(const u8 *ptr, size_t elfSize, u32 load // Copy the name to ensure it's null terminated. char name[32]{}; strncpy(name, head->modname, ARRAY_SIZE(head->modname)); - SaveDecryptedEbootToStorageMedia(ptr, elfSize, name); + SaveDecryptedEbootToStorageMedia(ptr, (u32)elfSize, name); } } } diff --git a/GPU/Common/FramebufferManagerCommon.cpp b/GPU/Common/FramebufferManagerCommon.cpp index e086e56ef5..6f4687efdd 100644 --- a/GPU/Common/FramebufferManagerCommon.cpp +++ b/GPU/Common/FramebufferManagerCommon.cpp @@ -1525,6 +1525,11 @@ void FramebufferManagerCommon::CopyDisplayToOutput(bool reallyDirty) { } } + // Reject too-tiny framebuffers to display (Godfather, see issue #16915). + if (vfb && vfb->height < 64) { + vfb = nullptr; + } + if (!vfb) { if (Memory::IsValidAddress(fbaddr)) { // The game is displaying something directly from RAM. In GTA, it's decoded video.