aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/mqtt.c
diff options
context:
space:
mode:
authorMichele Campus <fci1908@gmail.com>2016-07-25 12:12:47 +0200
committerGitHub <noreply@github.com>2016-07-25 12:12:47 +0200
commit32e6a79e9c93c3d7b1183a9e3dfc014b384f915c (patch)
tree536e25f806e9b9e2c821cd6e1d6933a2506d42c5 /src/lib/protocols/mqtt.c
parent77fc4be458211087e5adf26b9d9067098a907697 (diff)
parentd1f0b56adc56a35f98d8b5cabe426dc2408b65c9 (diff)
Merge pull request #234 from theirix/fix-overflows
Fixed payload overflow in MQTT, DNS
Diffstat (limited to 'src/lib/protocols/mqtt.c')
-rw-r--r--src/lib/protocols/mqtt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/protocols/mqtt.c b/src/lib/protocols/mqtt.c
index 024fad8a7..37c469066 100644
--- a/src/lib/protocols/mqtt.c
+++ b/src/lib/protocols/mqtt.c
@@ -144,7 +144,7 @@ void ndpi_search_mqtt (struct ndpi_detection_module_struct *ndpi_struct,
NDPI_LOG(NDPI_PROTOCOL_MQTT, ndpi_struct, NDPI_LOG_DEBUG,"====>>>> Passed second stage of identification\n");
// third stage verification (payload)
if (pt == CONNECT) {
- if (memcmp(&(packet->payload[4]),"MQTT",4) == 0) {
+ if (packet->payload_packet_len >= 8 && memcmp(&(packet->payload[4]),"MQTT",4) == 0) {
NDPI_LOG(NDPI_PROTOCOL_MQTT, ndpi_struct, NDPI_LOG_DEBUG, "Mqtt found CONNECT\n");
ndpi_int_mqtt_add_connection(ndpi_struct,flow);
return;