PR: 2628
[openssl.git] / ssl / s2_srvr.c
index 94716768723a3f4ef3370878027477d5daa5ded9..bc885e8e7f6dbc440001b025d8a3315df759152b 100644 (file)
@@ -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;
                }