From 5aa711db4144228435c41c6d4eacbab9cd6171db Mon Sep 17 00:00:00 2001 From: Tillmann Karras Date: Sat, 8 Aug 2026 19:32:53 +0100 Subject: [PATCH] DSPHLE/Zelda: prevent out-of-bounds stack read Reported by @RickdeJager. --- Source/Core/Core/HW/DSPHLE/UCodes/Zelda.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Source/Core/Core/HW/DSPHLE/UCodes/Zelda.cpp b/Source/Core/Core/HW/DSPHLE/UCodes/Zelda.cpp index 5db3c55aa8..d73d965bcd 100644 --- a/Source/Core/Core/HW/DSPHLE/UCodes/Zelda.cpp +++ b/Source/Core/Core/HW/DSPHLE/UCodes/Zelda.cpp @@ -1715,6 +1715,12 @@ void ZeldaAudioRenderer::DownloadAFCSamplesFromARAM(s16* dst, VPB* vpb, u16 requ return; } + if (vpb->afc_remaining_decoded_samples > 0x10) [[unlikely]] + { + ERROR_LOG_FMT(DSPHLE, "afc_remaining_decoded_samples > 0x10"); + vpb->afc_remaining_decoded_samples = 0x10; + } + // Try several things until we have output enough samples. while (true) {