summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorinoguchi <>2021-08-28 04:02:20 +0000
committerinoguchi <>2021-08-28 04:02:20 +0000
commit3ba7efbed9520ab7baa261ea2ba20a724f9b3654 (patch)
tree27c80a5c8bf8282601b6a58cc018d7b6ef076438 /src
parent9416a2c8b05fc6a1d9f7126abd4445a38827159c (diff)
downloadopenbsd-3ba7efbed9520ab7baa261ea2ba20a724f9b3654.tar.gz
openbsd-3ba7efbed9520ab7baa261ea2ba20a724f9b3654.tar.bz2
openbsd-3ba7efbed9520ab7baa261ea2ba20a724f9b3654.zip
Remove ASN1_TIME_new and use NULL for X509_gmtime_adj, free tmptm in err path
comments from tb@
Diffstat (limited to 'src')
-rw-r--r--src/usr.bin/openssl/ca.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/usr.bin/openssl/ca.c b/src/usr.bin/openssl/ca.c
index e0ffe1e6a8..b04a93b065 100644
--- a/src/usr.bin/openssl/ca.c
+++ b/src/usr.bin/openssl/ca.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ca.c,v 1.38 2021/08/28 02:40:17 inoguchi Exp $ */ 1/* $OpenBSD: ca.c,v 1.39 2021/08/28 04:02:20 inoguchi Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -673,7 +673,7 @@ ca_main(int argc, char **argv)
673 CA_DB *db = NULL; 673 CA_DB *db = NULL;
674 X509_CRL *crl = NULL; 674 X509_CRL *crl = NULL;
675 X509_REVOKED *r = NULL; 675 X509_REVOKED *r = NULL;
676 ASN1_TIME *tmptm; 676 ASN1_TIME *tmptm = NULL;
677 ASN1_INTEGER *tmpserial; 677 ASN1_INTEGER *tmpserial;
678 char *f; 678 char *f;
679 const char *p; 679 const char *p;
@@ -1425,29 +1425,20 @@ ca_main(int argc, char **argv)
1425 if (!X509_CRL_set_issuer_name(crl, X509_get_subject_name(x509))) 1425 if (!X509_CRL_set_issuer_name(crl, X509_get_subject_name(x509)))
1426 goto err; 1426 goto err;
1427 1427
1428 tmptm = ASN1_TIME_new(); 1428 if ((tmptm = X509_gmtime_adj(NULL, 0)) == NULL)
1429 if (tmptm == NULL)
1430 goto err; 1429 goto err;
1431 if (X509_gmtime_adj(tmptm, 0) == NULL) { 1430 if (!X509_CRL_set_lastUpdate(crl, tmptm))
1432 ASN1_TIME_free(tmptm);
1433 goto err; 1431 goto err;
1434 }
1435 if (!X509_CRL_set_lastUpdate(crl, tmptm)) {
1436 ASN1_TIME_free(tmptm);
1437 goto err;
1438 }
1439 if (X509_time_adj_ex(tmptm, ca_config.crldays, 1432 if (X509_time_adj_ex(tmptm, ca_config.crldays,
1440 ca_config.crlhours * 60 * 60 + ca_config.crlsec, NULL) == 1433 ca_config.crlhours * 60 * 60 + ca_config.crlsec, NULL) ==
1441 NULL) { 1434 NULL) {
1442 BIO_puts(bio_err, "error setting CRL nextUpdate\n"); 1435 BIO_puts(bio_err, "error setting CRL nextUpdate\n");
1443 ASN1_TIME_free(tmptm);
1444 goto err; 1436 goto err;
1445 } 1437 }
1446 if (!X509_CRL_set_nextUpdate(crl, tmptm)) { 1438 if (!X509_CRL_set_nextUpdate(crl, tmptm))
1447 ASN1_TIME_free(tmptm);
1448 goto err; 1439 goto err;
1449 }
1450 ASN1_TIME_free(tmptm); 1440 ASN1_TIME_free(tmptm);
1441 tmptm = NULL;
1451 1442
1452 for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) { 1443 for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) {
1453 pp = sk_OPENSSL_PSTRING_value(db->db->data, i); 1444 pp = sk_OPENSSL_PSTRING_value(db->db->data, i);
@@ -1591,6 +1582,7 @@ ca_main(int argc, char **argv)
1591 X509_free(x509); 1582 X509_free(x509);
1592 X509_CRL_free(crl); 1583 X509_CRL_free(crl);
1593 X509_REVOKED_free(r); 1584 X509_REVOKED_free(r);
1585 ASN1_TIME_free(tmptm);
1594 NCONF_free(conf); 1586 NCONF_free(conf);
1595 NCONF_free(extconf); 1587 NCONF_free(extconf);
1596 OBJ_cleanup(); 1588 OBJ_cleanup();