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:
M | source/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; }