Clear existing extension state.

When parsing ClientHello clear any existing extension state from
SRP login and SRTP profile.

Thanks to Karthikeyan Bhargavan for reporting this issue.
Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
Dr. Stephen Henson 2014-12-05 13:39:14 +00:00
parent 2a9338ee31
commit 4f605ccb77

View File

@ -1996,6 +1996,16 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char
s->s3->flags &= ~TLS1_FLAGS_ENCRYPT_THEN_MAC;
#endif
#ifndef OPENSSL_NO_SRP
if (s->srp_ctx.login != NULL)
{
OPENSSL_free(s->srp_ctx.login);
s->srp_ctx.login = NULL;
}
#endif
s->srtp_profile = NULL;
if (data >= (d+n-2))
goto ri_check;
n2s(data,len);