Submitted by: Adam Langley <agl@chromium.org>
authorDr. Stephen Henson <steve@openssl.org>
Wed, 4 Jan 2012 14:25:42 +0000 (14:25 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 4 Jan 2012 14:25:42 +0000 (14:25 +0000)
Reviewed by: steve

Fix memory leaks.

ssl/s3_srvr.c
ssl/t1_lib.c

index 9e73d629217be160c65eec4dffb6df092570f2c6..c7b9c2c091c1ef3568ad5448857f097443e5e39a 100644 (file)
@@ -2301,6 +2301,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;
                        }
 
index e38bd9f0baac7945cf732f56048af588a5463867..3430ea1a20d4f895116e3cef397a58e5276c2541 100644 (file)
@@ -1247,6 +1247,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);