mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
The function X509_gmtime_adj() can fail
Check for a failure and free a_tm as appropriate. Found by Coverity Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> (Merged from https://github.com/openssl/openssl/pull/5339)
This commit is contained in:
parent
c471521243
commit
bc2a0dd283
17
apps/ca.c
17
apps/ca.c
@ -1095,13 +1095,13 @@ end_of_options:
|
||||
goto end;
|
||||
|
||||
tmptm = ASN1_TIME_new();
|
||||
if (tmptm == NULL)
|
||||
goto end;
|
||||
X509_gmtime_adj(tmptm, 0);
|
||||
X509_CRL_set1_lastUpdate(crl, tmptm);
|
||||
if (!X509_time_adj_ex(tmptm, crldays, crlhours * 60 * 60 + crlsec,
|
||||
NULL)) {
|
||||
if (tmptm == NULL
|
||||
|| X509_gmtime_adj(tmptm, 0) == NULL
|
||||
|| !X509_CRL_set1_lastUpdate(crl, tmptm)
|
||||
|| X509_time_adj_ex(tmptm, crldays, crlhours * 60 * 60 + crlsec,
|
||||
NULL) == NULL) {
|
||||
BIO_puts(bio_err, "error setting CRL nextUpdate\n");
|
||||
ASN1_TIME_free(tmptm);
|
||||
goto end;
|
||||
}
|
||||
X509_CRL_set1_nextUpdate(crl, tmptm);
|
||||
@ -2209,7 +2209,10 @@ static int do_updatedb(CA_DB *db)
|
||||
return -1;
|
||||
|
||||
/* get actual time and make a string */
|
||||
a_tm = X509_gmtime_adj(a_tm, 0);
|
||||
if (X509_gmtime_adj(a_tm, 0) == NULL) {
|
||||
ASN1_UTCTIME_free(a_tm);
|
||||
return -1;
|
||||
}
|
||||
a_tm_s = app_malloc(a_tm->length + 1, "time string");
|
||||
|
||||
memcpy(a_tm_s, a_tm->data, a_tm->length);
|
||||
|
Loading…
Reference in New Issue
Block a user