From 80e8fdbe793c8861411e9f49ea290847fa99f4c7 Mon Sep 17 00:00:00 2001 From: Benjamin Kaduk Date: Tue, 8 Mar 2016 15:53:49 -0600 Subject: [PATCH] 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 --- crypto/ct/ct_prn.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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); } -- 2.34.1