summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2016-12-06 10:49:01 +0000
committerMatt Caswell <matt@openssl.org>2016-12-12 13:16:22 +0000
commit550e1d07a69db5af9129533ba7983594b3ed3fec (patch)
treec5be86f3c3a255249924d4448fdca31911fb65fd /test
parent2ece9c1fc6c5d998dc2abe03f2caf278ec05d9d0 (diff)
Fix a leak in SSL_clear()
SSL_clear() was resetting numwpipes to 0, but not freeing any allocated memory for existing write buffers. Fixes #2026 Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 4bf086005fe5ebcda5dc4d48ff701b41ab9b07f0)
Diffstat (limited to 'test')
-rw-r--r--test/sslapitest.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/test/sslapitest.c b/test/sslapitest.c
index 90326d9f9d..01811bf7e6 100644
--- a/test/sslapitest.c
+++ b/test/sslapitest.c
@@ -101,8 +101,16 @@ static int execute_test_large_message(const SSL_METHOD *smeth,
goto end;
}
- testresult = 1;
+ /*
+ * Calling SSL_clear() first is not required but this tests that SSL_clear()
+ * doesn't leak (when using enable-crypto-mdebug).
+ */
+ if (!SSL_clear(serverssl)) {
+ printf("Unexpected failure from SSL_clear()\n");
+ goto end;
+ }
+ testresult = 1;
end:
X509_free(chaincert);
SSL_free(serverssl);