From 0db1fb3fc13c4b1a2b916efbb374f40579b1398f Mon Sep 17 00:00:00 2001 From: FdaSilvaYY Date: Wed, 16 Nov 2016 22:46:25 +0100 Subject: [PATCH] Fix use before assignment it was getting the SerialNumber of a previous cert. Reviewed-by: Rich Salz Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/2272) --- apps/ca.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/ca.c b/apps/ca.c index b48788c6a8..98ec726477 100644 --- a/apps/ca.c +++ b/apps/ca.c @@ -987,12 +987,11 @@ end_of_options: 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); + X509 *xi = sk_X509_value(cert_sk, i); + ASN1_INTEGER *serialNumber = X509_get_serialNumber(xi); int k; char *n; - x = sk_X509_value(cert_sk, i); - j = ASN1_STRING_length(serialNumber); p = (const char *)ASN1_STRING_get0_data(serialNumber); @@ -1033,8 +1032,8 @@ end_of_options: perror(new_cert); goto end; } - write_new_certificate(Cout, x, 0, notext); - write_new_certificate(Sout, x, output_der, notext); + write_new_certificate(Cout, xi, 0, notext); + write_new_certificate(Sout, xi, output_der, notext); BIO_free_all(Cout); } -- 2.25.1