mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-07-25 08:14:45 +02: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:
@@ -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