mirror of https://github.com/mgba-emu/mgba.git
GBA: Check for improperly sized savestates when loading
This commit is contained in:
parent
ee6e53cfc8
commit
502ca7abd7
1
CHANGES
1
CHANGES
|
@ -35,6 +35,7 @@ Bugfixes:
|
||||||
- Qt: Fix maximum year in sensor override
|
- Qt: Fix maximum year in sensor override
|
||||||
- GBA: Cap audio FIFO read size during deserialization
|
- GBA: Cap audio FIFO read size during deserialization
|
||||||
- GBA: Check for corrupted savestates when loading
|
- GBA: Check for corrupted savestates when loading
|
||||||
|
- GBA: Check for improperly sized savestates when loading
|
||||||
Misc:
|
Misc:
|
||||||
- Qt: Handle saving input settings better
|
- Qt: Handle saving input settings better
|
||||||
- Debugger: Free watchpoints in addition to breakpoints
|
- Debugger: Free watchpoints in addition to breakpoints
|
||||||
|
|
|
@ -264,6 +264,9 @@ bool GBALoadStateNamed(struct GBA* gba, struct VFile* vf) {
|
||||||
return _loadPNGState(gba, vf);
|
return _loadPNGState(gba, vf);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
if (vf->size(vf) < (ssize_t) sizeof(struct GBASerializedState)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
struct GBASerializedState* state = vf->map(vf, sizeof(struct GBASerializedState), MAP_READ);
|
struct GBASerializedState* state = vf->map(vf, sizeof(struct GBASerializedState), MAP_READ);
|
||||||
if (!state) {
|
if (!state) {
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue