From 2d87ee68257683c1bb54ad77dde1b07dbb69521d Mon Sep 17 00:00:00 2001 From: FdaSilvaYY Date: Sat, 20 Aug 2016 18:31:45 +0200 Subject: [PATCH] Closing output file from inside the loop who open it Signed-off-by: Kurt Roeckx Reviewed-by: Rich Salz GH: #1471 --- apps/ca.c | 5 +++-- 1 file 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); -- 2.34.1