diff options
Diffstat (limited to 'ssl')
-rw-r--r-- | ssl/s3_srvr.c | 1 | ||||
-rw-r--r-- | ssl/t1_lib.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c index c3b5ff33ff..7b00ae1126 100644 --- a/ssl/s3_srvr.c +++ b/ssl/s3_srvr.c @@ -2130,6 +2130,7 @@ int ssl3_get_client_key_exchange(SSL *s) if (i <= 0) { SSLerr(SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE,ERR_R_DH_LIB); + BN_clear_free(pub); goto err; } diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 85371c87b8..26cbae449e 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -971,6 +971,12 @@ int ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char *d, in sdata = data; if (dsize > 0) { + if (s->tlsext_ocsp_exts) + { + sk_X509_EXTENSION_pop_free(s->tlsext_ocsp_exts, + X509_EXTENSION_free); + } + s->tlsext_ocsp_exts = d2i_X509_EXTENSIONS(NULL, &sdata, dsize); |