From 6d94d4115c254d344bbb927596a7141ef39fd298 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Wed, 21 Jul 2021 11:51:56 +0200 Subject: Add missing cleanup on error paths --- src/im-zmq.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/im-zmq.c') diff --git a/src/im-zmq.c b/src/im-zmq.c index c2d386cf..4273b600 100644 --- a/src/im-zmq.c +++ b/src/im-zmq.c @@ -68,7 +68,10 @@ struct im_zmq *im_zmq_connect(const char *zmq_address, if ( z == NULL ) return NULL; z->ctx = zmq_ctx_new(); - if ( z->ctx == NULL ) return NULL; + if ( z->ctx == NULL ) { + free(z); + return NULL; + } if ( zmq_request == NULL ) { STATUS("Connecting ZMQ subscriber to '%s'\n", zmq_address); @@ -77,10 +80,14 @@ struct im_zmq *im_zmq_connect(const char *zmq_address, STATUS("Connecting ZMQ requester to '%s'\n", zmq_address); z->socket = zmq_socket(z->ctx, ZMQ_REQ); } - if ( z->socket == NULL ) return NULL; + if ( z->socket == NULL ) { + free(z); + return NULL; + } if ( zmq_connect(z->socket, zmq_address) == -1 ) { ERROR("ZMQ connection failed: %s\n", zmq_strerror(errno)); + free(z); return NULL; } -- cgit v1.2.3