aboutsummaryrefslogtreecommitdiffstats
path: root/include/internal
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2016-04-14 21:28:54 +0100
committerMatt Caswell <matt@openssl.org>2016-04-14 22:15:32 +0100
commit1ee7b8b97c90e8e59627bfcbda3714f18368a9e1 (patch)
tree53a54a29d27fbdde8625fbfce8d230255a5fc020 /include/internal
parent6e08e9e7ccf00aba847351adc3b46b9dae1f114d (diff)
downloadopenssl-1ee7b8b97c90e8e59627bfcbda3714f18368a9e1.tar.gz
Fix ex_data locks issue
Travis identified a problem with freeing the ex_data locks which wasn't quite right in ff2344052. Trying to fix it identified a further problem: the ex_data locks are cleaned up by OPENSSL_cleanup(), which is called explicitly by CRYPTO_mem_leaks(), but then later the BIO passed to CRYPTO_mem_leaks() is freed. An attempt is then made to use the ex_data lock already freed. Reviewed-by: Tim Hudson <tjh@openssl.org>
Diffstat (limited to 'include/internal')
-rw-r--r--include/internal/bio.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/internal/bio.h b/include/internal/bio.h
index ec9dff69d2..31fe1aaaaf 100644
--- a/include/internal/bio.h
+++ b/include/internal/bio.h
@@ -67,4 +67,5 @@ struct bio_method_st {
long (*callback_ctrl) (BIO *, int, bio_info_cb *);
};
+void bio_free_ex_data(BIO *bio);
void bio_cleanup(void);