diff options
author | Matt Braithwaite <mab@google.com> | 2015-08-21 05:08:40 +0300 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2015-08-24 23:30:06 +0300 |
commit | 50485c7c0c93256df52f1845a65588ede880f224 (patch) | |
tree | 07dcbe364a1e26e6e531d761926584a5da66ae15 /crypto/conf | |
parent | 685402fadd8e90f1cd70ded7f7590600128d7d89 (diff) |
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 <agl@google.com>
Diffstat (limited to 'crypto/conf')
-rw-r--r-- | crypto/conf/conf.c | 2 |
1 files changed, 1 insertions, 1 deletions
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); } |