diff --git a/wled00/json.cpp b/wled00/json.cpp index 444f0e4d..f672f53d 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -1397,9 +1397,9 @@ void serializeNodes(JsonObject root) // deserializes mode data string into JsonArray void serializeModeData(JsonArray fxdata) { - char lineBuffer[128]; + char lineBuffer[192] = { 0 }; for (size_t i = 0; i < strip.getModeCount(); i++) { - strncpy_P(lineBuffer, strip.getModeData(i), 127); + strncpy_P(lineBuffer, strip.getModeData(i), sizeof(lineBuffer)-1); if (lineBuffer[0] != 0) { char* dataPtr = strchr(lineBuffer,'@'); if (dataPtr) fxdata.add(dataPtr+1); @@ -1411,9 +1411,9 @@ void serializeModeData(JsonArray fxdata) // deserializes mode names string into JsonArray // also removes effect data extensions (@...) from deserialized names void serializeModeNames(JsonArray arr) { - char lineBuffer[128]; + char lineBuffer[192] = { 0 }; for (size_t i = 0; i < strip.getModeCount(); i++) { - strncpy_P(lineBuffer, strip.getModeData(i), 127); + strncpy_P(lineBuffer, strip.getModeData(i), sizeof(lineBuffer)-1); if (lineBuffer[0] != 0) { char* dataPtr = strchr(lineBuffer,'@'); if (dataPtr) *dataPtr = 0; // terminate mode data after name