From 2e0e93a2d37a2a082e889b99911011f000274402 Mon Sep 17 00:00:00 2001 From: Laurent Louf Date: Fri, 3 May 2019 12:06:46 +0200 Subject: [PATCH] Add a check when publishing data to be able to publish a message without data without crashing. Signed-off-by: Marius Vikhammer Merges https://github.com/espressif/esp-mqtt/pull/117 --- lib/mqtt_msg.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/mqtt_msg.c b/lib/mqtt_msg.c index 1d67119..a39a3bd 100644 --- a/lib/mqtt_msg.c +++ b/lib/mqtt_msg.c @@ -449,8 +449,11 @@ mqtt_message_t *mqtt_msg_publish(mqtt_connection_t *connection, const char *topi connection->message.length = connection->buffer_length; connection->message.fragmented_msg_total_length = data_length + connection->message.fragmented_msg_data_offset; } else { - memcpy(connection->buffer + connection->message.length, data, data_length); - connection->message.length += data_length; + if (data != NULL) + { + memcpy(connection->buffer + connection->message.length, data, data_length); + connection->message.length += data_length; + } connection->message.fragmented_msg_total_length = 0; } return fini_message(connection, MQTT_MSG_TYPE_PUBLISH, 0, qos, retain);