summaryrefslogtreecommitdiff
path: root/thirdparty/mbedtls/library/entropy.c
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2021-03-12 18:27:58 +0100
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2021-03-12 18:37:34 +0100
commit18bc1f2a8f4f5ca4ed11eb174e888b1eb9db2bf5 (patch)
treecd2dfc0a2b3f78993c86ced5b264658af8fe7e32 /thirdparty/mbedtls/library/entropy.c
parentf1e810adcbba6d10ac096bbe1f39650e28330094 (diff)
Bump mbedtls to version 2.16.10.
Diffstat (limited to 'thirdparty/mbedtls/library/entropy.c')
-rw-r--r--thirdparty/mbedtls/library/entropy.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/thirdparty/mbedtls/library/entropy.c b/thirdparty/mbedtls/library/entropy.c
index 666c55654c..c5f414a010 100644
--- a/thirdparty/mbedtls/library/entropy.c
+++ b/thirdparty/mbedtls/library/entropy.c
@@ -146,6 +146,11 @@ void mbedtls_entropy_init( mbedtls_entropy_context *ctx )
void mbedtls_entropy_free( mbedtls_entropy_context *ctx )
{
+ /* If the context was already free, don't call free() again.
+ * This is important for mutexes which don't allow double-free. */
+ if( ctx->accumulator_started == -1 )
+ return;
+
#if defined(MBEDTLS_HAVEGE_C)
mbedtls_havege_free( &ctx->havege_data );
#endif
@@ -162,7 +167,7 @@ void mbedtls_entropy_free( mbedtls_entropy_context *ctx )
#endif
ctx->source_count = 0;
mbedtls_platform_zeroize( ctx->source, sizeof( ctx->source ) );
- ctx->accumulator_started = 0;
+ ctx->accumulator_started = -1;
}
int mbedtls_entropy_add_source( mbedtls_entropy_context *ctx,