From f050457976d611464053167ce80192413cd7c2fb Mon Sep 17 00:00:00 2001 From: radius Date: Thu, 22 Mar 2018 00:20:51 -0500 Subject: [PATCH] fix error in savestate code --- libretro/libretro.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libretro/libretro.c b/libretro/libretro.c index 61ee987d..275df1d9 100644 --- a/libretro/libretro.c +++ b/libretro/libretro.c @@ -940,13 +940,15 @@ bool retro_serialize(void *data, size_t size) void* save_data[2]; size_t state_size[2]; + size_t offset = 0; for (int i = 0; i < emulated_devices; i++) { state_size[i] = GB_get_save_state_size(&gameboy[i]); save_data[i] = (uint8_t*)malloc(state_size[i]); GB_save_state_to_buffer(&gameboy[i], (uint8_t*) save_data[i]); - memcpy(data + (state_size[i] * i), save_data[i], state_size[i]); + memcpy(data + offset, save_data[i], state_size[i]); + offset += state_size[i]; free(save_data[i]); }