mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
FS: fix crash overreading data on flash0
noticed while using intrafont with some homebrew code. when using musl libc's hardened malloc, the overread in the code caused PPSSPP to segfault.
This commit is contained in:
1 parent
3d58d1ff30
commit
55ae3b1c3e
1 file changed
+3
@@ -1067,6 +1067,9 @@ size_t VFSFileSystem::ReadFile(u32 handle, u8 *pointer, s64 size, int &usec) {
|
||||
EntryMap::iterator iter = entries.find(handle);
|
||||
if (iter != entries.end())
|
||||
{
|
||||
if(iter->second.seekPos + size > iter->second.size)
|
||||
size = iter->second.size - iter->second.seekPos;
|
||||
if(size < 0) size = 0;
|
||||
size_t bytesRead = size;
|
||||
memcpy(pointer, iter->second.fileData + iter->second.seekPos, size);
|
||||
iter->second.seekPos += size;
|
||||
|
||||
Reference in new issue
Block a user