Skip to content

Commit f27ac68

Browse files
committed
[Log] Fix freeing memory in the log struct.
1 parent 84854ae commit f27ac68

File tree

3 files changed

+8
-14
lines changed

3 files changed

+8
-14
lines changed

src/src/DataStructs/LogStruct.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ void LogStruct::clearExpiredEntries() {
9494
while (maxLoops > 0) {
9595
--maxLoops;
9696
if (isEmpty() || // Nothing left
97-
timeStamp[read_idx] == 0 || // Already reset entry
9897
(timePassedSince(timeStamp[read_idx]) < LOG_BUFFER_EXPIRE)) // Expired
9998
{
10099
return;
@@ -106,7 +105,7 @@ void LogStruct::clearExpiredEntries() {
106105
void LogStruct::clearOldest() {
107106
if (!isEmpty()) {
108107
is_full = false;
109-
Message[read_idx].clear();
108+
Message[read_idx] = String();
110109
timeStamp[read_idx] = 0;
111110
log_level[read_idx] = 0;
112111
read_idx = nextIndex(read_idx);

src/src/ESPEasyCore/ESPEasyRules.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1468,10 +1468,10 @@ void createRuleEvents(struct EventStruct *event) {
14681468
addLog(LOG_LEVEL_ERROR, F("Not enough memory for event"));
14691469
return;
14701470
}
1471-
eventString = getTaskDeviceName(event->TaskIndex);
1472-
eventString += F("#");
1471+
eventString += getTaskDeviceName(event->TaskIndex);
1472+
eventString += '#';
14731473
eventString += ExtraTaskSettings.TaskDeviceValueNames[0];
1474-
eventString += F("=");
1474+
eventString += '=';
14751475
eventString += '`';
14761476
if (appendCompleteStringvalue) {
14771477
eventString += event->String2;
@@ -1485,7 +1485,7 @@ void createRuleEvents(struct EventStruct *event) {
14851485
} else if (Settings.CombineTaskValues_SingleEvent(event->TaskIndex)) {
14861486
String eventString;
14871487
eventString.reserve(128); // Enough for most use cases, prevent lots of memory allocations.
1488-
eventString = getTaskDeviceName(event->TaskIndex);
1488+
eventString += getTaskDeviceName(event->TaskIndex);
14891489
eventString += F("#All=");
14901490

14911491
for (uint8_t varNr = 0; varNr < valueCount; varNr++) {
@@ -1499,10 +1499,10 @@ void createRuleEvents(struct EventStruct *event) {
14991499
for (uint8_t varNr = 0; varNr < valueCount; varNr++) {
15001500
String eventString;
15011501
eventString.reserve(64); // Enough for most use cases, prevent lots of memory allocations.
1502-
eventString = getTaskDeviceName(event->TaskIndex);
1503-
eventString += F("#");
1502+
eventString += getTaskDeviceName(event->TaskIndex);
1503+
eventString += '#';
15041504
eventString += ExtraTaskSettings.TaskDeviceValueNames[varNr];
1505-
eventString += F("=");
1505+
eventString += '=';
15061506
eventString += formatUserVarNoCheck(event, varNr);
15071507
eventQueue.addMove(std::move(eventString));
15081508
}

src/src/WebServer/WebServer.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -348,11 +348,6 @@ void setWebserverRunning(bool state) {
348348

349349
void getWebPageTemplateDefault(const String& tmplName, WebTemplateParser& parser)
350350
{
351-
#ifdef USE_SECOND_HEAP
352-
// Store template in 2nd heap
353-
HeapSelectIram ephemeral;
354-
#endif
355-
356351
const bool addJS = true;
357352
const bool addMeta = true;
358353

0 commit comments

Comments
 (0)