From c58c6ef26887e68168a13e85765181bb7ab81bd0 Mon Sep 17 00:00:00 2001 From: Frank <91616163+softhack007@users.noreply.github.com> Date: Fri, 7 Nov 2025 11:58:55 +0100 Subject: [PATCH] minor robustness improvement If seg.name is at least 32 characters long, strncpy will fill the 32-byte window without appending '\0'. This could lead to sporadic errors. --- wled00/image_loader.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/wled00/image_loader.cpp b/wled00/image_loader.cpp index b5a17644..8046fe78 100644 --- a/wled00/image_loader.cpp +++ b/wled00/image_loader.cpp @@ -111,6 +111,7 @@ byte renderImageToSegment(Segment &seg) { if (strncmp(lastFilename +1, seg.name, 32) != 0) { // segment name changed, load new image strncpy(lastFilename +1, seg.name, 32); + lastFilename[33] = '\0'; // make sure that lastFilename is always null-terminated gifDecodeFailed = false; size_t fnameLen = strlen(lastFilename); if ((fnameLen < 4) || strcmp(lastFilename + fnameLen - 4, ".gif") != 0) { // empty segment name, name too short, or name not ending in .gif