X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=ssl%2Fs3_cbc.c;h=87cdc3b2447ecc1d4eaa5a4878d8a9279aaddc17;hp=1db1d8c32a300ad991833dcb5e895d4c77f43dcd;hb=0850f11855fff2691d5827ea56b4b55307163612;hpb=975dfb1c6cd5e9c9b275b7bd62522818d967247b diff --git a/ssl/s3_cbc.c b/ssl/s3_cbc.c index 1db1d8c32a..87cdc3b244 100644 --- a/ssl/s3_cbc.c +++ b/ssl/s3_cbc.c @@ -462,6 +462,7 @@ void ssl3_cbc_digest_record( * the hash. */ unsigned md_length_size = 8; char length_is_big_endian = 1; + int ret; /* This is a, hopefully redundant, check that allows us to forget about * many possible overflows later in this function. */ @@ -733,8 +734,8 @@ void ssl3_cbc_digest_record( EVP_DigestUpdate(&md_ctx, hmac_pad, md_block_size); EVP_DigestUpdate(&md_ctx, mac_out, md_size); } - EVP_DigestFinal(&md_ctx, md_out, &md_out_size_u); - if (md_out_size) + ret = EVP_DigestFinal(&md_ctx, md_out, &md_out_size_u); + if (ret && md_out_size) *md_out_size = md_out_size_u; EVP_MD_CTX_cleanup(&md_ctx); }