mirror of
https://github.com/wled/WLED.git
synced 2025-04-23 22:37:18 +00:00
Fix for incorrect memory de-allocation.
This commit is contained in:
parent
d4beb2f79b
commit
95518f1948
@ -18,28 +18,27 @@ void deserializeSegment(JsonObject elem, byte it, byte presetId)
|
||||
uint16_t start = elem[F("start")] | seg.start;
|
||||
int stop = elem["stop"] | -1;
|
||||
|
||||
if (elem["n"]) {
|
||||
// name field exists
|
||||
String name = elem["n"];
|
||||
if (name.length()) {
|
||||
if (seg.name) delete seg.name;
|
||||
seg.name = new char[name.length()+1];
|
||||
strcpy(seg.name, name.c_str());
|
||||
} else {
|
||||
// but is empty
|
||||
elem.remove("n");
|
||||
if (seg.name) {
|
||||
delete seg.name;
|
||||
seg.name = nullptr;
|
||||
}
|
||||
}
|
||||
} else if (elem[F("start")] || elem["stop"]) {
|
||||
// clearing or setting segment without name field
|
||||
if (seg.name) {
|
||||
delete seg.name;
|
||||
seg.name = nullptr;
|
||||
}
|
||||
if (elem["n"]) {
|
||||
// name field exists
|
||||
if (seg.name) {
|
||||
delete[] seg.name;
|
||||
seg.name = nullptr;
|
||||
}
|
||||
String name = elem["n"];
|
||||
if (name.length()) {
|
||||
seg.name = new char[name.length()+1];
|
||||
if (seg.name != nullptr) strcpy(seg.name, name.c_str());
|
||||
} else {
|
||||
// but is empty
|
||||
elem.remove("n");
|
||||
}
|
||||
} else if (elem[F("start")] || elem["stop"]) {
|
||||
// clearing or setting segment without name field
|
||||
if (seg.name) {
|
||||
delete[] seg.name;
|
||||
seg.name = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
if (stop < 0) {
|
||||
uint16_t len = elem[F("len")];
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
// version code in format yymmddb (b = daily build)
|
||||
#define VERSION 2109112
|
||||
#define VERSION 2109121
|
||||
|
||||
//uncomment this if you have a "my_config.h" file you'd like to use
|
||||
//#define WLED_USE_MY_CONFIG
|
||||
|
Loading…
x
Reference in New Issue
Block a user