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

Fix memory leaks.

ssl/s3_srvr.c
ssl/t1_lib.c

index c3b5ff33ff89438f78d7071dbfd716d736d7f219..7b00ae1126df8587d1152c0a03cdda07e2e8daf3 100644 (file)
@@ -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;
                        }
 
index 85371c87b8e081df737bc706175b78b0e7552069..26cbae449e98464a8cabb2c688cf63d521d7f5e8 100644 (file)
@@ -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);