From 9c9ca33d63ab9944769fe3bf50f0448fa8bb2c18 Mon Sep 17 00:00:00 2001 From: Roger Light Date: Mon, 10 May 2021 21:56:44 +0100 Subject: [PATCH] Fix two potential leaks. --- lib/options.c | 2 +- src/plugin_public.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/options.c b/lib/options.c index 900d5f65..6521af2f 100644 --- a/lib/options.c +++ b/lib/options.c @@ -236,7 +236,7 @@ int mosquitto_tls_opts_set(struct mosquitto *mosq, int cert_reqs, const char *tl mosq->tls_13_ciphers = NULL; if(ciphers){ - if(!strcasecmp(tls_version, "tlsv1.3")){ + if(!strcasecmp(mosq->tls_version, "tlsv1.3")){ mosq->tls_13_ciphers = mosquitto__strdup(ciphers); if(!mosq->tls_13_ciphers) return MOSQ_ERR_NOMEM; }else{ diff --git a/src/plugin_public.c b/src/plugin_public.c index 5df56fec..5e5489d9 100644 --- a/src/plugin_public.c +++ b/src/plugin_public.c @@ -207,6 +207,7 @@ int mosquitto_broker_publish_copy( mosquitto_property *properties) { void *payload_out; + int rc; if(topic == NULL || payloadlen < 0 @@ -222,7 +223,7 @@ int mosquitto_broker_publish_copy( } memcpy(payload_out, payload, (size_t)payloadlen); - return mosquitto_broker_publish( + rc = mosquitto_broker_publish( clientid, topic, payloadlen, @@ -230,6 +231,11 @@ int mosquitto_broker_publish_copy( qos, retain, properties); + + if(rc){ + free(payload_out); + } + return rc; }