From: Benjamin Kaduk Date: Tue, 8 Mar 2016 21:53:49 +0000 (-0600) Subject: CT: check some GeneralizedTime return values X-Git-Tag: OpenSSL_1_1_0-pre4~98 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=80e8fdbe793c8861411e9f49ea290847fa99f4c7;p=oweals%2Fopenssl.git 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 Reviewed-by: Rich Salz --- diff --git a/crypto/ct/ct_prn.c b/crypto/ct/ct_prn.c index bb669d577a..c2e11b1e24 100644 --- a/crypto/ct/ct_prn.c +++ b/crypto/ct/ct_prn.c @@ -80,6 +80,8 @@ static void timestamp_print(uint64_t timestamp, BIO *out) ASN1_GENERALIZEDTIME *gen = ASN1_GENERALIZEDTIME_new(); char genstr[20]; + if (gen == NULL) + return; ASN1_GENERALIZEDTIME_adj(gen, (time_t)0, (int)(timestamp / 86400000), (timestamp % 86400000) / 1000); @@ -89,8 +91,8 @@ static void timestamp_print(uint64_t timestamp, BIO *out) */ BIO_snprintf(genstr, sizeof(genstr), "%.14s.%03dZ", ASN1_STRING_data(gen), (unsigned int)(timestamp % 1000)); - ASN1_GENERALIZEDTIME_set_string(gen, genstr); - ASN1_GENERALIZEDTIME_print(out, gen); + if (ASN1_GENERALIZEDTIME_set_string(gen, genstr)) + ASN1_GENERALIZEDTIME_print(out, gen); ASN1_GENERALIZEDTIME_free(gen); }