From 4dc835b73d352a4a67ee1a57f70d7a1b8a88003a Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Wed, 19 Aug 2020 11:12:05 +0100 Subject: [PATCH] Fix possible memory leaks on errors during persistence write. --- src/persist_write_v5.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/persist_write_v5.c b/src/persist_write_v5.c index 48ca9c93..10d51456 100644 --- a/src/persist_write_v5.c +++ b/src/persist_write_v5.c @@ -115,7 +115,10 @@ int persist__chunk_client_msg_write_v6(FILE *db_fptr, struct P_client_msg *chunk return MOSQ_ERR_NOMEM; } rc = property__write_all(&prop_packet, chunk->properties, true); - if(rc) return rc; + if(rc){ + mosquitto__free(prop_packet.payload); + return rc; + } write_e(db_fptr, prop_packet.payload, proplen); mosquitto__free(prop_packet.payload); @@ -179,7 +182,10 @@ int persist__chunk_message_store_write_v6(FILE *db_fptr, struct P_msg_store *chu return MOSQ_ERR_NOMEM; } rc = property__write_all(&prop_packet, chunk->properties, true); - if(rc) return rc; + if(rc){ + mosquitto__free(prop_packet.payload); + return rc; + } write_e(db_fptr, prop_packet.payload, proplen); mosquitto__free(prop_packet.payload);