diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index db4a7f13b..e81ed772b 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -301,8 +301,17 @@ public: } } else { // Older save state. Let's still reload, but this may not pick up new flags, etc. + bool foundBroken = false; for (auto func : importedFuncs) { - ImportFunc(func, true); + if (func.moduleName[KERNELOBJECT_MAX_NAME_LENGTH] != '\0' || !Memory::IsValidAddress(func.stubAddr)) { + foundBroken = true; + } else { + ImportFunc(func, true); + } + } + + if (foundBroken) { + ERROR_LOG(LOADER, "Broken stub import data while loading state"); } }