aboutsummaryrefslogtreecommitdiff
path: root/src/deserialize.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/deserialize.c')
-rw-r--r--src/deserialize.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/deserialize.c b/src/deserialize.c
index 7f3da7c..aaff490 100644
--- a/src/deserialize.c
+++ b/src/deserialize.c
@@ -109,12 +109,16 @@ static int MqttPacketPublishDeserialize(MqttPacketPublish **packet, Stream *stre
LOG_DEBUG("reading payload payloadSize:%lu\n", payloadSize);
- (*packet)->message = bfromcstralloc(payloadSize, "");
+ /* Allocate extra byte for a NULL terminator. If the user tries to print
+ the payload directly. */
+
+ (*packet)->message = bfromcstralloc(payloadSize+1, "");
if (StreamRead(bdata((*packet)->message), payloadSize, stream) == -1)
return -1;
(*packet)->message->slen = payloadSize;
+ (*packet)->message->data[payloadSize] = '\0';
return 0;
}