From 1dae345b247e5f9a6be70c69f6b402cbd30abdf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= Date: Sat, 27 Feb 2021 18:29:59 +0100 Subject: [PATCH] Use memmove for overlapping copy --- Core/save_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/save_state.c b/Core/save_state.c index 9ef6ae35..827cf575 100644 --- a/Core/save_state.c +++ b/Core/save_state.c @@ -150,7 +150,7 @@ static bool verify_and_update_state_compatibility(GB_gameboy_t *gb, GB_gameboy_t { if (save->ram_size == 0 && (&save->ram_size)[-1] == gb->ram_size) { /* This is a save state with a bad printer struct from a 32-bit OS */ - memcpy(save->extra_oam + 4, save->extra_oam, (uintptr_t)&save->ram_size - (uintptr_t)&save->extra_oam); + memmove(save->extra_oam + 4, save->extra_oam, (uintptr_t)&save->ram_size - (uintptr_t)&save->extra_oam); } if (save->ram_size == 0) { /* Save doesn't have ram size specified, it's a pre 0.12 save state with potentially