Commit 9465e716 authored by Paul Yang's avatar Paul Yang
Browse files

Fix access zero memory if SSL_DEBUG is enabled



If compile OpenSSL with SSL_DEBUG macro, some test cases will cause the
process crashed in the debug code.

Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
Reviewed-by: default avatarPaul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7707)

(cherry picked from commit 5a4481f0)
parent 156c4d62
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2353,7 +2353,8 @@ MSG_PROCESS_RETURN tls_process_key_exchange(SSL *s, PACKET *pkt)
        }
#ifdef SSL_DEBUG
        if (SSL_USE_SIGALGS(s))
            fprintf(stderr, "USING TLSv1.2 HASH %s\n", EVP_MD_name(md));
            fprintf(stderr, "USING TLSv1.2 HASH %s\n",
                    md == NULL ? "n/a" : EVP_MD_name(md));
#endif

        if (!PACKET_get_length_prefixed_2(pkt, &signature)
+4 −2
Original line number Diff line number Diff line
@@ -396,7 +396,8 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt)

#ifdef SSL_DEBUG
    if (SSL_USE_SIGALGS(s))
        fprintf(stderr, "USING TLSv1.2 HASH %s\n", EVP_MD_name(md));
        fprintf(stderr, "USING TLSv1.2 HASH %s\n",
                md == NULL ? "n/a" : EVP_MD_name(md));
#endif

    /* Check for broken implementations of GOST ciphersuites */
@@ -439,7 +440,8 @@ MSG_PROCESS_RETURN tls_process_cert_verify(SSL *s, PACKET *pkt)
    }

#ifdef SSL_DEBUG
    fprintf(stderr, "Using client verify alg %s\n", EVP_MD_name(md));
    fprintf(stderr, "Using client verify alg %s\n",
            md == NULL ? "n/a" : EVP_MD_name(md));
#endif
    if (EVP_DigestVerifyInit(mctx, &pctx, md, NULL, pkey) <= 0) {
        SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CERT_VERIFY,