From d7c2bb6fc6551ef88996c5ac3f68d1b6c82fd4fb Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Wed, 29 Apr 2026 19:39:37 +0300 Subject: [PATCH] Address sanitizer fixes --- debug.cpp | 11 +++++++++-- disk.cpp | 6 ++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/debug.cpp b/debug.cpp index 75160446..3d21cc1c 100644 --- a/debug.cpp +++ b/debug.cpp @@ -1539,13 +1539,20 @@ static void dump_custom_regs(bool aga, bool ext) addr1, custd[cnt1].name, v1, extra1, addr2, custd[cnt2].name, v2, extra2); for (;;) { + if (!custd[cnt1].name) { + break; + } cnt1++; - if (!(custd[cnt1].special & CD_NONE)) + if (!custd[cnt1].name || !(custd[cnt1].special & CD_NONE)) { break; + } } for (;;) { + if (!custd[cnt2].name) { + break; + } cnt2++; - if (!(custd[cnt2].special & CD_NONE)) + if (!custd[cnt2].name || !(custd[cnt2].special & CD_NONE)) break; } } diff --git a/disk.cpp b/disk.cpp index 99f93996..8ed55557 100644 --- a/disk.cpp +++ b/disk.cpp @@ -1400,9 +1400,11 @@ static int drive_insert (drive *drv, struct uae_prefs *p, int dnum, const TCHAR _tcsncpy (currprefs.floppyslots[dnum].df, fname_in, 255); currprefs.floppyslots[dnum].df[255] = 0; } + if (changed_prefs.floppyslots[dnum].df != fname_in) { + _tcsncpy (changed_prefs.floppyslots[dnum].df, fname_in, 255); + changed_prefs.floppyslots[dnum].df[255] = 0; + } currprefs.floppyslots[dnum].forcedwriteprotect = forcedwriteprotect; - _tcsncpy (changed_prefs.floppyslots[dnum].df, fname_in, 255); - changed_prefs.floppyslots[dnum].df[255] = 0; changed_prefs.floppyslots[dnum].forcedwriteprotect = forcedwriteprotect; if (drv->newname != fname_in) { _tcscpy(drv->newname, fname_in); -- 2.47.3