From 245f0e2271693d7a301c945a7791691a720ab1b3 Mon Sep 17 00:00:00 2001 From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com> Date: Wed, 11 Sep 2024 16:24:13 -0700 Subject: [PATCH] Don't invoke UB with possibly unaligned memory --- .../RetroAchievements/RetroAchievements.GameVerification.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.GameVerification.cs b/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.GameVerification.cs index b79dfc2fe3..46aa47f543 100644 --- a/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.GameVerification.cs +++ b/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.GameVerification.cs @@ -431,7 +431,8 @@ namespace BizHawk.Client.EmuHawk return true; } - var programId = MemoryMarshal.GetReference(Util.UnsafeSpanFromPointer(ptr: optional_program_id, count: 1)); + var programId = MemoryMarshal.Read( + Util.UnsafeSpanFromPointer(ptr: optional_program_id, count: 8)); FirmwareID seeddbFWID = new("3DS", "seeddb"); using BinaryReader seeddb = new(GetFirmware(seeddbFWID));