From 596befff74e0b1455641081f15504b29f762b1ae Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Mon, 2 Aug 2021 10:41:31 -0700 Subject: [PATCH] Fix invalid heap reference fixed by @flux242 --- src/mqtt/MQTT.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mqtt/MQTT.cpp b/src/mqtt/MQTT.cpp index 33e0ee7c3..450c8441d 100644 --- a/src/mqtt/MQTT.cpp +++ b/src/mqtt/MQTT.cpp @@ -62,7 +62,8 @@ MQTT::MQTT() : concurrency::OSThread("mqtt"), pubSub(mqttClient) void MQTT::reconnect() { // pubSub.setServer("devsrv.ezdevice.net", 1883); or 192.168.10.188 - const char *serverAddr = "mqtt.meshtastic.org:1883"; // default hostname + const char *serverAddr = "mqtt.meshtastic.org"; // default hostname + int serverPort = 1883; // default server port if (*radioConfig.preferences.mqtt_server) serverAddr = radioConfig.preferences.mqtt_server; // Override the default @@ -70,15 +71,16 @@ void MQTT::reconnect() String server = String(serverAddr); int delimIndex = server.indexOf(':'); if (delimIndex > 0) { - String host = server.substring(0, delimIndex); String port = server.substring(delimIndex+1, server.length()); - pubSub.setServer(host.c_str(), port.toInt()); + server[delimIndex] = 0; + serverPort = port.toInt(); + pubSub.setServer(server.c_str(), serverPort); } else { - pubSub.setServer(serverAddr, 1883); + pubSub.setServer(serverAddr, serverPort); } - DEBUG_MSG("Connecting to MQTT server\n", serverAddr); + DEBUG_MSG("Connecting to MQTT server %s, port: %d\n", server.c_str(), serverPort); auto myStatus = (statusTopic + owner.id); bool connected = pubSub.connect(owner.id, "meshdev", "large4cats", myStatus.c_str(), 1, true, "offline"); if (connected) {