summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2015-10-26 21:10:21 -0700
committerAlan Antonuk <alan.antonuk@gmail.com>2015-10-26 21:21:03 -0700
commitd6000f4467dc940fc11ae9c65bc554fe1f9c97b9 (patch)
treeab6741aa1931cacba8d9640dac98291d9ea19293
parentd3ee55fe1b6d09795c419f12a3ad6f7d0b5df6b4 (diff)
downloadrabbitmq-c-openssl_leaks.tar.gz
Lib: fix leak in amqp_ssl_socket_verify_hostnameopenssl_leaks
The cert object should be X509_free'd after use, it leaks otherwise. Thanks Volker Schreiner for reporting this. Fixes #323
-rw-r--r--librabbitmq/amqp_openssl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/librabbitmq/amqp_openssl.c b/librabbitmq/amqp_openssl.c
index 86338da..d970d99 100644
--- a/librabbitmq/amqp_openssl.c
+++ b/librabbitmq/amqp_openssl.c
@@ -248,8 +248,12 @@ amqp_ssl_socket_verify_hostname(void *base, const char *host)
goto error;
}
exit:
+ X509_free(cert);
return status;
error:
+ if (cert) {
+ X509_free(cert);
+ }
status = -1;
goto exit;
}