boringssl/crypto
David Benjamin 45dab251f3 Skip free callbacks on empty CRYPTO_EX_DATAs.
Avoids bouncing on the lock, but it doesn't really matter since it's all
taking read locks. If we're declaring that callbacks don't get to see
every object being created, they shouldn't see every object being
destroyed.

CRYPTO_dup_ex_data also already had this optimization, though it wasn't
documented.

BUG=391192

Change-Id: I5b8282335112bca3850a7c0168f8bd7f7d4a2d57
Reviewed-on: https://boringssl-review.googlesource.com/6626
Reviewed-by: Adam Langley <agl@google.com>
2015-12-15 21:32:14 +00:00
..
aes Fix the shared builders by exporting GCM symbols. 2015-10-26 23:26:40 +00:00
asn1 Limit depth of ASN1 parse printing. 2015-12-15 19:06:04 +00:00
base64
bio Test for underflow before subtraction. 2015-11-11 22:20:04 +00:00
bn Re-apply 75b833cc81 2015-12-03 17:25:12 +00:00
buf
bytestring Use UINT64_C instead of OPENSSL_U64. 2015-11-16 23:18:00 +00:00
chacha Change |CRYPTO_chacha_20| to use 96-bit nonces, 32-bit counters. 2015-10-26 23:58:46 +00:00
cipher avoid clashes with libc's 'open' in e_chacha20poly1305.c 2015-11-20 20:02:23 +00:00
cmac
conf Move arm_arch.h and fix up lots of include paths. 2015-08-26 01:57:59 +00:00
curve25519 Register the *25519 tests as dependencies of all_tests. 2015-11-19 01:09:09 +00:00
des Fix shared library build on OS X. 2015-10-26 23:39:47 +00:00
dh Remove the CRYPTO_EX_new callback. 2015-12-15 21:29:46 +00:00
digest Improve crypto/digest/md32_common.h mechanism. 2015-11-04 00:01:09 +00:00
dsa Remove the CRYPTO_EX_new callback. 2015-12-15 21:29:46 +00:00
ec Remove the CRYPTO_EX_new callback. 2015-12-15 21:29:46 +00:00
ecdh Clean up |ECDH_compute_key|. 2015-10-27 17:00:25 +00:00
ecdsa Add |EC_GROUP_get0_order| to replace |EC_GROUP_get_order|. 2015-12-15 18:18:13 +00:00
engine Unwind DH_METHOD and DSA_METHOD. 2015-11-03 22:54:36 +00:00
err Limit DHE groups to 4096-bit. 2015-11-11 22:18:39 +00:00
evp Add |EC_GROUP_get0_order| to replace |EC_GROUP_get_order|. 2015-12-15 18:18:13 +00:00
hkdf
hmac Remove condition which always evaluates to true (size_t >= 0). 2015-11-11 22:20:19 +00:00
lhash
md4 Improve crypto/digest/md32_common.h mechanism. 2015-11-04 00:01:09 +00:00
md5 Improve crypto/digest/md32_common.h mechanism. 2015-11-04 00:01:09 +00:00
modes Use UINT64_C instead of OPENSSL_U64. 2015-11-16 23:18:00 +00:00
obj
pem Fix all sign/unsigned warnings with Clang and GCC. 2015-10-27 22:48:00 +00:00
perlasm Get rid of all compiler version checks in perlasm files. 2015-10-28 19:33:04 +00:00
pkcs8 Check for overflow when parsing a CBS with d2i_*. 2015-11-16 23:17:42 +00:00
poly1305 Remove stl_compat.h. 2015-11-11 22:19:36 +00:00
rand Don't abort in |init_once| if |fcntl| returns ENOSYS 2015-12-15 18:10:40 +00:00
rc4 Fix a couple more signed/unsigned compares. 2015-10-27 16:07:26 -07:00
rsa Remove the CRYPTO_EX_new callback. 2015-12-15 21:29:46 +00:00
sha Use UINT64_C in sha512.c table. 2015-12-15 20:30:10 +00:00
stack
test Remove stl_compat.h. 2015-11-11 22:19:36 +00:00
x509 Remove the CRYPTO_EX_new callback. 2015-12-15 21:29:46 +00:00
x509v3 Become partially -Wmissing-variable-declarations-clean. 2015-11-12 20:09:20 +00:00
CMakeLists.txt Add X25519 and Ed25519 support. 2015-11-17 21:56:12 +00:00
constant_time_test.c
cpu-arm-asm.S
cpu-arm.c Allow |CRYPTO_is_NEON_capable| to be known at compile time, if possible. 2015-11-19 00:15:11 +00:00
cpu-intel.c
crypto.c Make CRYPTO_library_init use a CRYPTO_once_t. 2015-11-19 18:05:22 +00:00
directory_posix.c
directory_win.c
directory.h
ex_data.c Skip free callbacks on empty CRYPTO_EX_DATAs. 2015-12-15 21:32:14 +00:00
header_removed.h
internal.h Remove the CRYPTO_EX_new callback. 2015-12-15 21:29:46 +00:00
mem.c
refcount_c11.c
refcount_lock.c Add infrastructure for reference counts. 2015-05-20 19:14:59 +00:00
refcount_test.c
thread_none.c
thread_pthread.c Make sure pthread_once() succeeds. 2015-11-17 21:44:40 +00:00
thread_test.c
thread_win.c
thread.c
time_support.c