diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2016-07-22 15:55:38 +0100 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2016-07-22 15:55:38 +0100 |
commit | 31a7d80d0ddb9dddde45c112316057a83e743c15 (patch) | |
tree | acdbd1b712bbcd9370a7636d8f53d1a7b6983e5b /ssl | |
parent | 0ed26acce328ec16a3aa635f1ca37365e8c7403a (diff) |
Send alert for bad DH CKE
RT#4511
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/statem/statem_srvr.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index e56d79121d..b7f2a0fe2d 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -2269,17 +2269,12 @@ static int tls_process_cke_dhe(SSL *s, PACKET *pkt, int *al) EVP_PKEY *ckey = NULL; int ret = 0; - if (!PACKET_get_net_2(pkt, &i)) { + if (!PACKET_get_net_2(pkt, &i) || PACKET_remaining(pkt) != i) { *al = SSL_AD_HANDSHAKE_FAILURE; SSLerr(SSL_F_TLS_PROCESS_CKE_DHE, SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG); goto err; } - if (PACKET_remaining(pkt) != i) { - SSLerr(SSL_F_TLS_PROCESS_CKE_DHE, - SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG); - goto err; - } skey = s->s3->tmp.pkey; if (skey == NULL) { *al = SSL_AD_HANDSHAKE_FAILURE; |