aboutsummaryrefslogtreecommitdiff
path: root/src/stream_mqtt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stream_mqtt.c')
-rw-r--r--src/stream_mqtt.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/stream_mqtt.c b/src/stream_mqtt.c
index c9d0e12..3864ef3 100644
--- a/src/stream_mqtt.c
+++ b/src/stream_mqtt.c
@@ -10,7 +10,9 @@ int64_t StreamReadMqttString(bstring *buf, Stream *stream)
if (StreamReadUint16Be(&len, stream) == -1)
return -1;
- result = bfromcstralloc(len, "");
+ /* We need 1 extra byte for a NULL terminator. bfromcstralloc doesn't do
+ any size snapping. */
+ result = bfromcstralloc(len+1, "");
if (!result)
return -1;
@@ -22,6 +24,7 @@ int64_t StreamReadMqttString(bstring *buf, Stream *stream)
}
result->slen = len;
+ result->data[len] = '\0';
*buf = result;