gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit dece68e462e7532f528f577866ce171cce8fef23
parent 28f78ad296b682fa4270f2a755034f4d01e0df51
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Sat, 12 Feb 2022 16:08:01 +0100

fix memory corruption when copying data

Diffstat:
Msource/jucePlugin/VirusController.cpp | 9++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/source/jucePlugin/VirusController.cpp b/source/jucePlugin/VirusController.cpp @@ -448,10 +448,13 @@ namespace Virus uint8_t Controller::copyData(const SysEx &src, int startPos, std::array<uint8_t, kDataSizeInBytes>& dst) { uint8_t sum = 0; - for (size_t i = 0; i < src.size(); i++) + + size_t iSrc = startPos; + + for (size_t iDst = 0; iSrc < src.size() && iDst < dst.size(); ++iSrc, ++iDst) { - dst[i] = src[startPos + i]; - sum += dst[i]; + dst[iDst] = src[iSrc]; + sum += dst[iDst]; } return sum; }