diff options
author | Adam Langley <alangley@gmail.com> | 2015-05-15 22:49:30 +0300 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2015-05-20 22:15:26 +0300 |
commit | 0da323a8b8a4402f1c5d264cdc43c6b622118b67 (patch) | |
tree | f8d6f8775ff6253002ad18b60e52302fd391cdbd /crypto/bio | |
parent | 6f2e733bab69a5c853a929a96671736458b8d4c1 (diff) |
Convert reference counts in crypto/
This change converts the reference counts in crypto/ to use
|CRYPTO_refcount_t|. The reference counts in |X509_PKEY| and |X509_INFO|
were never actually used and so were dropped.
Change-Id: I75d572cdac1f8c1083c482e29c9519282d7fd16c
Reviewed-on: https://boringssl-review.googlesource.com/4772
Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'crypto/bio')
-rw-r--r-- | crypto/bio/bio.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/crypto/bio/bio.c b/crypto/bio/bio.c index 48c1466d..3d4c0ec0 100644 --- a/crypto/bio/bio.c +++ b/crypto/bio/bio.c @@ -64,6 +64,8 @@ #include <openssl/mem.h> #include <openssl/thread.h> +#include "../internal.h" + /* BIO_set initialises a BIO structure to have the given type and sets the * reference count to one. It returns one on success or zero on error. */ @@ -103,8 +105,7 @@ int BIO_free(BIO *bio) { BIO *next_bio; for (; bio != NULL; bio = next_bio) { - int refs = CRYPTO_add(&bio->references, -1, CRYPTO_LOCK_BIO); - if (refs > 0) { + if (!CRYPTO_refcount_dec_and_test_zero(&bio->references)) { return 0; } @@ -127,7 +128,7 @@ int BIO_free(BIO *bio) { } BIO *BIO_up_ref(BIO *bio) { - CRYPTO_add(&bio->references, 1, CRYPTO_LOCK_BIO); + CRYPTO_refcount_inc(&bio->references); return bio; } |