]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Fix buffer overflow if VPOS out of range
authorWaccoon <105848526+Waccoon@users.noreply.github.com>
Sat, 11 Nov 2023 08:28:45 +0000 (03:28 -0500)
committerGitHub <noreply@github.com>
Sat, 11 Nov 2023 08:28:45 +0000 (03:28 -0500)
Amiga crash may cause vsync to be lost, causing dma_record[] overflow.

debug.cpp

index 8681f7f4db2398405fabe0e3aa3bf12532ee84f4..ddd379c6c75c5216600fd287a8a032cf21057695 100644 (file)
--- 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);