summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2016-07-22 15:55:38 +0100
committerDr. Stephen Henson <steve@openssl.org>2016-07-22 15:55:38 +0100
commit31a7d80d0ddb9dddde45c112316057a83e743c15 (patch)
treeacdbd1b712bbcd9370a7636d8f53d1a7b6983e5b /ssl
parent0ed26acce328ec16a3aa635f1ca37365e8c7403a (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.c7
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;