From 0a14fd5ee9a59fd2ae9943a4e42851bc0175e308 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 20 Jul 2014 12:09:36 -0700 Subject: [PATCH] Skip zero size segments in module segment info. --- Core/HLE/sceKernelModule.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index c9c8f96942..827b3b8100 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -941,8 +941,10 @@ Module *__KernelLoadELFFromPtr(const u8 *ptr, u32 loadAddress, bool fromTop, std // TODO: Is summing them up correct? Must not be since the numbers aren't exactly right. for (int i = 0; i < reader.GetNumSegments(); ++i) { if (i < (int)ARRAY_SIZE(module->nm.segmentaddr)) { - module->nm.segmentaddr[i] = reader.GetSegmentVaddr(i); module->nm.segmentsize[i] = reader.GetSegmentMemSize(i); + if (module->nm.segmentsize[i] != 0) { + module->nm.segmentaddr[i] = reader.GetSegmentVaddr(i); + } } module->nm.data_size += reader.GetSegmentDataSize(i); }