CT: check some GeneralizedTime return values
Some of the ASN.1 routines for the GeneralizedTime type can return errors; check for these and do not continue past failure, so as to appease coverity. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
b805b4440d
commit
80e8fdbe79
1 changed files with 4 additions and 2 deletions
|
@ -80,6 +80,8 @@ static void timestamp_print(uint64_t timestamp, BIO *out)
|
||||||
ASN1_GENERALIZEDTIME *gen = ASN1_GENERALIZEDTIME_new();
|
ASN1_GENERALIZEDTIME *gen = ASN1_GENERALIZEDTIME_new();
|
||||||
char genstr[20];
|
char genstr[20];
|
||||||
|
|
||||||
|
if (gen == NULL)
|
||||||
|
return;
|
||||||
ASN1_GENERALIZEDTIME_adj(gen, (time_t)0,
|
ASN1_GENERALIZEDTIME_adj(gen, (time_t)0,
|
||||||
(int)(timestamp / 86400000),
|
(int)(timestamp / 86400000),
|
||||||
(timestamp % 86400000) / 1000);
|
(timestamp % 86400000) / 1000);
|
||||||
|
@ -89,8 +91,8 @@ static void timestamp_print(uint64_t timestamp, BIO *out)
|
||||||
*/
|
*/
|
||||||
BIO_snprintf(genstr, sizeof(genstr), "%.14s.%03dZ",
|
BIO_snprintf(genstr, sizeof(genstr), "%.14s.%03dZ",
|
||||||
ASN1_STRING_data(gen), (unsigned int)(timestamp % 1000));
|
ASN1_STRING_data(gen), (unsigned int)(timestamp % 1000));
|
||||||
ASN1_GENERALIZEDTIME_set_string(gen, genstr);
|
if (ASN1_GENERALIZEDTIME_set_string(gen, genstr))
|
||||||
ASN1_GENERALIZEDTIME_print(out, gen);
|
ASN1_GENERALIZEDTIME_print(out, gen);
|
||||||
ASN1_GENERALIZEDTIME_free(gen);
|
ASN1_GENERALIZEDTIME_free(gen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue