From aa7ab87b211586e7263d4baf75a8781efd68c6e1 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 14 Aug 2025 04:03:16 -0500 Subject: [PATCH] fix memory corruption when deleting unused samples --- src/engine/engine.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 30a713398..ac6f49044 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -939,6 +939,7 @@ void DivEngine::delUnusedSamples() { bool* isUsed=new bool[song.sample.size()]; memset(isUsed,0,song.sample.size()*sizeof(bool)); + int isUsedMax=((int)song.sample.size())-1; // scan in instruments for (DivInstrument* i: song.ins) { @@ -1020,10 +1021,10 @@ void DivEngine::delUnusedSamples() { if (!isUsed[i]) { delSampleUnsafe(i,false); // rotate - for (int j=i; j<255; j++) { + for (int j=i; j