From 50485c7c0c93256df52f1845a65588ede880f224 Mon Sep 17 00:00:00 2001 From: Matt Braithwaite Date: Thu, 20 Aug 2015 19:08:40 -0700 Subject: Fix a memory leak in |NCONF_free|. As I read it: 1. |_LHASH| contains 2. buckets of |LHASH_ITEMS|, which contain 3. |CONF_VALUE|s, which contain 4. various bits of data. The previous code was freeing #1 and #2 in |lh_free|, and #4 in |value_free_contents|, but was failing to free the |CONF_VALUE|s themselves. The fix is to call |value_free| rather than |value_free_contents|. Change-Id: I1d5b48692ca9ac04df688e45d7fc113dc5cd6ddf Reviewed-on: https://boringssl-review.googlesource.com/5742 Reviewed-by: Adam Langley --- crypto/conf/conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crypto') diff --git a/crypto/conf/conf.c b/crypto/conf/conf.c index 6990dbe5..ec80032d 100644 --- a/crypto/conf/conf.c +++ b/crypto/conf/conf.c @@ -137,7 +137,7 @@ void NCONF_free(CONF *conf) { return; } - lh_CONF_VALUE_doall(conf->data, value_free_contents); + lh_CONF_VALUE_doall(conf->data, value_free); lh_CONF_VALUE_free(conf->data); OPENSSL_free(conf); } -- cgit v1.2.3