From: Matt Caswell Date: Fri, 23 Jun 2017 10:40:47 +0000 (+0100) Subject: Fix another EVP_DigestVerify() instance X-Git-Tag: OpenSSL_1_1_1-pre1~1213 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=25ffeb11ea86bdc76db150c504550602a9acc9bc Fix another EVP_DigestVerify() instance Following on from the previous commit this fixes another instance where we need to treat a -ve return from EVP_DigestVerify() as a bad signature. Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/3756) --- diff --git a/ssl/statem/statem_lib.c b/ssl/statem/statem_lib.c index 63d8953164..5cd17f2836 100644 --- a/ssl/statem/statem_lib.c +++ b/ssl/statem/statem_lib.c @@ -459,10 +459,7 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt) } } else { j = EVP_DigestVerify(mctx, data, len, hdata, hdatalen); - if (j < 0) { - SSLerr(SSL_F_TLS_PROCESS_CERT_VERIFY, ERR_R_EVP_LIB); - goto f_err; - } else if (j == 0) { + if (j <= 0) { al = SSL_AD_DECRYPT_ERROR; SSLerr(SSL_F_TLS_PROCESS_CERT_VERIFY, SSL_R_BAD_SIGNATURE); goto f_err;