summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2019-11-12 17:37:11 +0000
committerMatt Caswell <matt@openssl.org>2019-11-15 11:08:18 +0000
commit93863030867ad0331bf7f199f8a266ad99ee4cf2 (patch)
treeac640ae75aac8e1f5899485c0e3503ab963ecbc5 /test
parent985412f8c14853b9936852bc7ef4d9438db27b88 (diff)
Make sure we free the CONF structure allocated by confdump
A travis build was failing because of a memory leak in confdump due to us not freeing an allocated CONF structure. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10429)
Diffstat (limited to 'test')
-rw-r--r--test/confdump.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/test/confdump.c b/test/confdump.c
index b83119ef34..dbf6244653 100644
--- a/test/confdump.c
+++ b/test/confdump.c
@@ -51,10 +51,10 @@ static void dump_section(const char *name, const CONF *cnf)
int main(int argc, char **argv)
{
long eline;
- CONF *conf;
+ CONF *conf = NCONF_new(NCONF_default());
+ int ret = 1;
- if ((conf = NCONF_new(NCONF_default())) != NULL
- && NCONF_load(conf, argv[1], &eline)) {
+ if (conf != NULL && NCONF_load(conf, argv[1], &eline)) {
int i;
collect_all_sections(conf);
@@ -62,9 +62,10 @@ int main(int argc, char **argv)
dump_section(sk_OPENSSL_CSTRING_value(section_names, i), conf);
}
sk_OPENSSL_CSTRING_free(section_names);
+ ret = 0;
} else {
ERR_print_errors_fp(stderr);
- return 1;
}
- return 0;
+ NCONF_free(conf);
+ return ret;
}