From 417d34207834c4612c17568af137f6ea203f5e74 Mon Sep 17 00:00:00 2001 From: Anton ACE Date: Thu, 14 Mar 2019 17:54:06 +0300 Subject: [PATCH] Message type check in readSubscription (#147) Added message type checking in readSubscription https://github.com/adafruit/Adafruit_MQTT_Library/issues/147 --- Adafruit_MQTT.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Adafruit_MQTT.cpp b/Adafruit_MQTT.cpp index 6855f84..c82a876 100644 --- a/Adafruit_MQTT.cpp +++ b/Adafruit_MQTT.cpp @@ -463,6 +463,9 @@ Adafruit_MQTT_Subscribe *Adafruit_MQTT::readSubscription(int16_t timeout) { DEBUG_PRINT("Packet len: "); DEBUG_PRINTLN(len); DEBUG_PRINTBUFFER(buffer, len); + if (len<3) return NULL; + if ((buffer[0] & 0xF0) != (MQTT_CTRL_PUBLISH) << 4) return NULL; + // Parse out length of packet. topiclen = buffer[3]; DEBUG_PRINT(F("Looking for subscription len ")); DEBUG_PRINTLN(topiclen);