summaryrefslogtreecommitdiffstats
path: root/ssl/s3_lib.c
diff options
context:
space:
mode:
authorBen Laurie <ben@links.org>2013-10-01 12:20:02 +0100
committerBen Laurie <ben@links.org>2013-10-01 12:20:02 +0100
commit63fe3221601d55ab340b89d15c17cb90d168487f (patch)
tree636885950b6295d19c64a5e496b932ebee0d902e /ssl/s3_lib.c
parentc808798013ef7dc0aaafd030929976ddba8668db (diff)
parent8ae78c6bd90d19bfcc4b5854f1b9285d6fdcfa70 (diff)
Merge remote-tracking branch 'agl/1.0.2alpn' into agl-alpn
Conflicts: ssl/ssl3.h ssl/t1_lib.c
Diffstat (limited to 'ssl/s3_lib.c')
-rw-r--r--ssl/s3_lib.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index e418c6428d..3f66235985 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -3020,6 +3020,11 @@ void ssl3_free(SSL *s)
BIO_free(s->s3->handshake_buffer);
}
if (s->s3->handshake_dgst) ssl3_free_digest_list(s);
+#ifndef OPENSSL_NO_TLSEXT
+ if (s->s3->alpn_selected)
+ OPENSSL_free(s->s3->alpn_selected);
+#endif
+
#ifndef OPENSSL_NO_SRP
SSL_SRP_CTX_free(s);
#endif
@@ -3101,6 +3106,14 @@ void ssl3_clear(SSL *s)
if (s->s3->handshake_dgst) {
ssl3_free_digest_list(s);
}
+
+#if !defined(OPENSSL_NO_TLSEXT)
+ if (s->s3->alpn_selected)
+ {
+ free(s->s3->alpn_selected);
+ s->s3->alpn_selected = NULL;
+ }
+#endif
memset(s->s3,0,sizeof *s->s3);
s->s3->rbuf.buf = rp;
s->s3->wbuf.buf = wp;