Fix #736: Check for payloads < 0 and ignore them
This commit is contained in:
parent
d508b4183e
commit
21718a9e8f
@ -197,9 +197,14 @@ void MqttHandleInverterClass::onMqttMessage(const espMqttClientTypes::MessagePro
|
|||||||
char* strlimit = new char[len + 1];
|
char* strlimit = new char[len + 1];
|
||||||
memcpy(strlimit, payload, len);
|
memcpy(strlimit, payload, len);
|
||||||
strlimit[len] = '\0';
|
strlimit[len] = '\0';
|
||||||
uint32_t payload_val = strtol(strlimit, NULL, 10);
|
int32_t payload_val = strtol(strlimit, NULL, 10);
|
||||||
delete[] strlimit;
|
delete[] strlimit;
|
||||||
|
|
||||||
|
if (payload_val < 0) {
|
||||||
|
MessageOutput.printf("MQTT payload < 0 received --> ignoring\r\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!strcmp(setting, TOPIC_SUB_LIMIT_PERSISTENT_RELATIVE)) {
|
if (!strcmp(setting, TOPIC_SUB_LIMIT_PERSISTENT_RELATIVE)) {
|
||||||
// Set inverter limit relative persistent
|
// Set inverter limit relative persistent
|
||||||
MessageOutput.printf("Limit Persistent: %d %%\r\n", payload_val);
|
MessageOutput.printf("Limit Persistent: %d %%\r\n", payload_val);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user