summaryrefslogtreecommitdiffstats
path: root/apps/ca.c
diff options
context:
space:
mode:
authorFdaSilvaYY <fdasilvayy@gmail.com>2016-08-20 18:31:45 +0200
committerKurt Roeckx <kurt@roeckx.be>2016-08-22 21:32:04 +0200
commit2d87ee68257683c1bb54ad77dde1b07dbb69521d (patch)
tree28e41f84f4fd923748c92039a20dad9c81964609 /apps/ca.c
parent1c55e372b9e16049461caa4802e801cc945018d0 (diff)
Closing output file from inside the loop who open it
Signed-off-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #1471
Diffstat (limited to 'apps/ca.c')
-rw-r--r--apps/ca.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/ca.c b/apps/ca.c
index 3db3f99640..34dfd9b956 100644
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -224,7 +224,7 @@ int ca_main(int argc, char **argv)
ENGINE *e = NULL;
BIGNUM *crlnumber = NULL, *serial = NULL;
EVP_PKEY *pkey = NULL;
- BIO *in = NULL, *out = NULL, *Sout = NULL, *Cout = NULL;
+ BIO *in = NULL, *out = NULL, *Sout = NULL;
ASN1_INTEGER *tmpser;
ASN1_TIME *tmptm;
CA_DB *db = NULL;
@@ -982,6 +982,7 @@ end_of_options:
if (verbose)
BIO_printf(bio_err, "writing new certificates\n");
for (i = 0; i < sk_X509_num(cert_sk); i++) {
+ BIO *Cout = NULL;
ASN1_INTEGER *serialNumber = X509_get_serialNumber(x);
int k;
char *n;
@@ -1031,6 +1032,7 @@ end_of_options:
}
write_new_certificate(Cout, x, 0, notext);
write_new_certificate(Sout, x, output_der, notext);
+ BIO_free_all(Cout);
}
if (sk_X509_num(cert_sk)) {
@@ -1215,7 +1217,6 @@ end_of_options:
/*****************************************************************/
ret = 0;
end:
- BIO_free_all(Cout);
BIO_free_all(Sout);
BIO_free_all(out);
BIO_free_all(in);