diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2014-12-05 13:39:14 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-01-02 22:30:20 +0000 |
commit | 500d67f15ac8199a39c3ba3861f71951766fbae4 (patch) | |
tree | 884bfa0afffceca20a55840790c6f524cffe73c7 | |
parent | 40fb8587ed854eaa6bbe703a4480b5b20ff7b71c (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.c | 10 |
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); |