From: Dr. Stephen Henson Date: Fri, 5 Dec 2014 13:39:14 +0000 (+0000) Subject: Clear existing extension state. X-Git-Tag: OpenSSL_1_0_2~105 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=47606dda672a5008168f62d4b7d7f94cd2d31313;p=oweals%2Fopenssl.git 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 (cherry picked from commit 4f605ccb779e32a770093d687e0554e0bbb137d3) Conflicts: ssl/t1_lib.c --- diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 962861de92..4deab88891 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -2016,6 +2016,16 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char s->cert->peer_sigalgs = NULL; } +#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);