diff --git a/src/persist_read_v5.c b/src/persist_read_v5.c index 480a383a..d1a4b1e9 100644 --- a/src/persist_read_v5.c +++ b/src/persist_read_v5.c @@ -172,6 +172,7 @@ int persist__chunk_base_msg_read_v56(FILE *db_fptr, struct P_base_msg *chunk, ui chunk->F.source_port = ntohs(chunk->F.source_port); length -= (uint32_t)(sizeof(struct PF_base_msg) + chunk->F.payloadlen + chunk->F.source_id_len + chunk->F.source_username_len + chunk->F.topic_len); + if(length > MQTT_MAX_PAYLOAD) goto error; if(chunk->F.source_id_len){ rc = persist__read_string_len(db_fptr, &chunk->source.id, chunk->F.source_id_len);