From d78ea5ae2edd5a4fb03b8ad9947b0b1c64d7165f Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Fri, 7 Nov 2025 15:07:13 +0100 Subject: [PATCH] prevent bad filenames in "segment names as ledmap names" Increase buffer size for fileName to accommodate long segment names (max 32 chars) without producing broken filenames. --- wled00/FX_fcn.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 34b77f1f..5847309e 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -1765,8 +1765,8 @@ void WS2812FX::enumerateLedmaps() { uint8_t segment_index = 0; for (segment &seg : _segments) { if (seg.name != nullptr && strlen(seg.name) > 0) { - char fileName[33]; - snprintf_P(fileName, sizeof(fileName), PSTR("/lm%s.json"), seg.name); + char fileName[33+11] = { '\0' }; // segment name is 32 chars max, so we need 43 chars in worst case + snprintf_P(fileName, sizeof(fileName)-1, PSTR("/lm%s.json"), seg.name); bool isFile = WLED_FS.exists(fileName); if (isFile) ledMaps |= 1 << (10+segment_index); }