diff options
Diffstat (limited to 'src/lib/libssl/s3_lib.c')
-rw-r--r-- | src/lib/libssl/s3_lib.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index f2d2cb040d..9897fba6c5 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_lib.c,v 1.85 2014/11/18 05:33:43 miod Exp $ */ | 1 | /* $OpenBSD: s3_lib.c,v 1.86 2014/12/10 14:58:56 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -1905,6 +1905,8 @@ ssl3_free(SSL *s) | |||
1905 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free); | 1905 | sk_X509_NAME_pop_free(s->s3->tmp.ca_names, X509_NAME_free); |
1906 | BIO_free(s->s3->handshake_buffer); | 1906 | BIO_free(s->s3->handshake_buffer); |
1907 | ssl3_free_digest_list(s); | 1907 | ssl3_free_digest_list(s); |
1908 | free(s->s3->alpn_selected); | ||
1909 | |||
1908 | OPENSSL_cleanse(s->s3, sizeof *s->s3); | 1910 | OPENSSL_cleanse(s->s3, sizeof *s->s3); |
1909 | free(s->s3); | 1911 | free(s->s3); |
1910 | s->s3 = NULL; | 1912 | s->s3 = NULL; |
@@ -1939,6 +1941,9 @@ ssl3_clear(SSL *s) | |||
1939 | 1941 | ||
1940 | ssl3_free_digest_list(s); | 1942 | ssl3_free_digest_list(s); |
1941 | 1943 | ||
1944 | free(s->s3->alpn_selected); | ||
1945 | s->s3->alpn_selected = NULL; | ||
1946 | |||
1942 | memset(s->s3, 0, sizeof *s->s3); | 1947 | memset(s->s3, 0, sizeof *s->s3); |
1943 | s->s3->rbuf.buf = rp; | 1948 | s->s3->rbuf.buf = rp; |
1944 | s->s3->wbuf.buf = wp; | 1949 | s->s3->wbuf.buf = wp; |