X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fs2_srvr.c;h=bc885e8e7f6dbc440001b025d8a3315df759152b;hb=dd0ddc3e784204c8970c0b95fff8e55072294bec;hp=94716768723a3f4ef3370878027477d5daa5ded9;hpb=0d0ed9187a48797b867e0ffc32b3ea9c5cc30639;p=oweals%2Fopenssl.git diff --git a/ssl/s2_srvr.c b/ssl/s2_srvr.c index 9471676872..bc885e8e7f 100644 --- a/ssl/s2_srvr.c +++ b/ssl/s2_srvr.c @@ -403,13 +403,14 @@ static int get_client_master_key(SSL *s) p+=3; n2s(p,i); s->s2->tmp.clear=i; n2s(p,i); s->s2->tmp.enc=i; - n2s(p,i); s->session->key_arg_length=i; - if(s->session->key_arg_length > SSL_MAX_KEY_ARG_LENGTH) + n2s(p,i); + if(i > SSL_MAX_KEY_ARG_LENGTH) { ssl2_return_error(s,SSL2_PE_UNDEFINED_ERROR); SSLerr(SSL_F_GET_CLIENT_MASTER_KEY, SSL_R_KEY_ARG_TOO_LONG); return -1; } + s->session->key_arg_length=i; s->state=SSL2_ST_GET_CLIENT_MASTER_KEY_B; }