summaryrefslogtreecommitdiffstats
path: root/crypto/mem_sec.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/mem_sec.c')
-rw-r--r--crypto/mem_sec.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/crypto/mem_sec.c b/crypto/mem_sec.c
index e1a3193477..b6bdb6bb43 100644
--- a/crypto/mem_sec.c
+++ b/crypto/mem_sec.c
@@ -238,11 +238,17 @@ int CRYPTO_secure_allocated(const void *ptr)
size_t CRYPTO_secure_used(void)
{
+ size_t ret = 0;
+
#ifndef OPENSSL_NO_SECURE_MEMORY
- return secure_mem_used;
-#else
- return 0;
+ if (!CRYPTO_THREAD_read_lock(sec_malloc_lock))
+ return 0;
+
+ ret = secure_mem_used;
+
+ CRYPTO_THREAD_unlock(sec_malloc_lock);
#endif /* OPENSSL_NO_SECURE_MEMORY */
+ return ret;
}
size_t CRYPTO_secure_actual_size(void *ptr)