Commit a76a4165 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

ssl/s3_enc.c: fix logical errors in ssl3_final_finish_mac.



(back-port of commit 7d0effea)

Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7392)
parent 77078e6b
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -404,13 +404,14 @@ int ssl3_final_finish_mac(SSL *s, const char *sender, int len, unsigned char *p)
    }
    if (!EVP_MD_CTX_copy_ex(ctx, s->s3->handshake_dgst)) {
        SSLerr(SSL_F_SSL3_FINAL_FINISH_MAC, ERR_R_INTERNAL_ERROR);
        return 0;
        ret = 0;
        goto err;
    }

    ret = EVP_MD_CTX_size(ctx);
    if (ret < 0) {
        EVP_MD_CTX_reset(ctx);
        return 0;
        ret = 0;
        goto err;
    }

    if ((sender != NULL && EVP_DigestUpdate(ctx, sender, len) <= 0)
@@ -422,6 +423,7 @@ int ssl3_final_finish_mac(SSL *s, const char *sender, int len, unsigned char *p)
        ret = 0;
    }

 err:
    EVP_MD_CTX_free(ctx);

    return ret;