Fix ex_data locks issue
authorMatt Caswell <matt@openssl.org>
Thu, 14 Apr 2016 20:28:54 +0000 (21:28 +0100)
committerMatt Caswell <matt@openssl.org>
Thu, 14 Apr 2016 21:15:32 +0000 (22:15 +0100)
commit1ee7b8b97c90e8e59627bfcbda3714f18368a9e1
tree53a54a29d27fbdde8625fbfce8d230255a5fc020
parent6e08e9e7ccf00aba847351adc3b46b9dae1f114d
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>
crypto/bio/bio_lib.c
crypto/ex_data.c
crypto/include/internal/cryptlib_int.h
crypto/mem_dbg.c
include/internal/bio.h