From 4152493d97103fca1bf1eb5a334d9441a06cea14 Mon Sep 17 00:00:00 2001 From: Waccoon <105848526+Waccoon@users.noreply.github.com> Date: Sat, 11 Nov 2023 03:28:45 -0500 Subject: [PATCH] Fix buffer overflow if VPOS out of range Amiga crash may cause vsync to be lost, causing dma_record[] overflow. --- debug.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debug.cpp b/debug.cpp index 8681f7f4..ddd379c6 100644 --- a/debug.cpp +++ b/debug.cpp @@ -2219,6 +2219,8 @@ struct dma_rec *last_dma_rec; void record_dma_read_value_pos(uae_u32 v, int hpos, int vpos) { hpos += dma_record_hoffset; + if (hpos >= NR_DMA_REC_HPOS || vpos >= NR_DMA_REC_VPOS) + return; struct dma_rec *dr = &dma_record[dma_record_toggle][vpos * NR_DMA_REC_HPOS + hpos]; last_dma_rec = dr; record_dma_read_value(v); -- 2.47.3