Clear existing extension state.
authorDr. Stephen Henson <steve@openssl.org>
Fri, 5 Dec 2014 13:39:14 +0000 (13:39 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Fri, 2 Jan 2015 22:27:40 +0000 (22:27 +0000)
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 4f605ccb779e32a770093d687e0554e0bbb137d3)

Conflicts:
ssl/t1_lib.c

ssl/t1_lib.c

index 962861de921769f9874b15df8a270b55a040f6f9..4deab88891ba3315d26331c6cad58cd171c61e7c 100644 (file)
@@ -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);