summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2014-12-05 13:39:14 +0000
committerDr. Stephen Henson <steve@openssl.org>2015-01-02 22:30:20 +0000
commit500d67f15ac8199a39c3ba3861f71951766fbae4 (patch)
tree884bfa0afffceca20a55840790c6f524cffe73c7
parent40fb8587ed854eaa6bbe703a4480b5b20ff7b71c (diff)
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> (cherry picked from commit 47606dda672a5008168f62d4b7d7f94cd2d31313) Conflicts: ssl/t1_lib.c
-rw-r--r--ssl/t1_lib.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
index 1a5f4c1c23..179b467d45 100644
--- a/ssl/t1_lib.c
+++ b/ssl/t1_lib.c
@@ -1005,6 +1005,16 @@ int ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char *d, in
ssl_check_for_safari(s, data, d, n);
#endif /* !OPENSSL_NO_EC */
+#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);