From fca7e175d830152c7178378a296c960c57cb49b6 Mon Sep 17 00:00:00 2001 From: retro-wertz Date: Tue, 24 Jul 2018 11:09:35 +0800 Subject: [PATCH] Libretro: Prevent crash when loading an incompatible state file --- src/libretro/libretro.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libretro/libretro.cpp b/src/libretro/libretro.cpp index d0eb0648..8b33c7cd 100644 --- a/src/libretro/libretro.cpp +++ b/src/libretro/libretro.cpp @@ -1057,12 +1057,16 @@ size_t retro_serialize_size(void) bool retro_serialize(void* data, size_t size) { - return core->emuWriteState((uint8_t*)data, size); + if (size == serialize_size) + return core->emuWriteState((uint8_t*)data, size); + return false; } bool retro_unserialize(const void* data, size_t size) { - return core->emuReadState((uint8_t*)data, size); + if (size == serialize_size) + return core->emuReadState((uint8_t*)data, size); + return false; } void retro_cheat_reset(void)