aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2010-05-26 16:03:20 +0000
committerRob Austein <sra@hactrn.net>2010-05-26 16:03:20 +0000
commit71258c906a683d45aaffbf612d080fdf1a651a16 (patch)
tree3044f28e69e1975ebab5923acff0d7399470518d
parent0e40ba6483b4940616464dd5917dfee459572169 (diff)
Paranoia: Clean up trust anchor BIOs properly. Almost certainly
doesn't matter unless one has an implausibly large number of trust anchors, but let's keep things tidy. svn path=/rcynic/rcynic.c; revision=3262
-rw-r--r--rcynic/rcynic.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/rcynic/rcynic.c b/rcynic/rcynic.c
index cc1ff83f..dd84ddac 100644
--- a/rcynic/rcynic.c
+++ b/rcynic/rcynic.c
@@ -2819,6 +2819,7 @@ int main(int argc, char *argv[])
rcynic_ctx_t rc;
unsigned delay;
long eline = 0;
+ BIO *bio = NULL;
memset(&rc, 0, sizeof(rc));
@@ -3081,7 +3082,6 @@ int main(int argc, char *argv[])
char path1[FILENAME_MAX], path2[FILENAME_MAX], uri[URI_MAX];
certinfo_t ta_info;
X509 *x = NULL;
- BIO *bio = NULL;
assert(val && val->name && val->value);
@@ -3162,7 +3162,8 @@ int main(int argc, char *argv[])
}
if (bio)
pkey = d2i_PUBKEY_bio(bio, NULL);
- BIO_free(bio);
+ BIO_free_all(bio);
+ bio = NULL;
if (!pkey) {
logmsg(&rc, log_usage_err, "Couldn't read trust anchor public key for %s from %s", uri, fn);
goto done;
@@ -3311,6 +3312,7 @@ int main(int argc, char *argv[])
X509_STORE_free(rc.x509_store);
NCONF_free(cfg_handle);
CONF_modules_free();
+ BIO_free(bio);
EVP_cleanup();
ERR_free_strings();
free(rc.authenticated);