From 8faa88e05b1c1cf55931c215e212c8e0e137dda7 Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Sun, 25 Jan 2026 17:02:06 +0100 Subject: [PATCH] chanSize expansion must account for start byte --- wled00/src/dependencies/dmx/SparkFunDMX.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wled00/src/dependencies/dmx/SparkFunDMX.cpp b/wled00/src/dependencies/dmx/SparkFunDMX.cpp index da91b402..b9870e88 100644 --- a/wled00/src/dependencies/dmx/SparkFunDMX.cpp +++ b/wled00/src/dependencies/dmx/SparkFunDMX.cpp @@ -132,8 +132,8 @@ uint8_t SparkFunDMX::read(int Channel) { // Function to send DMX data void SparkFunDMX::write(int Channel, uint8_t value) { if (Channel < 0) Channel = 0; - if (Channel > chanSize) chanSize = Channel; - if (Channel > dmxMaxChannel) Channel = dmxMaxChannel; // WLEDMM prevent array out-of-bounds access + if (Channel+1 > chanSize) chanSize = min(dmxMaxChannel +1, Channel+1); // WLEDMM "+1" as we need to account for start byte + if (Channel > dmxMaxChannel) Channel = dmxMaxChannel; // WLEDMM prevent array out-of-bounds access dmxData[0] = 0; dmxData[Channel] = value; //add one to account for start byte }