diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-12-21 09:13:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-21 09:13:31 +0100 |
commit | 73f09b157462dade279b5f76ca5c6a487e46dba4 (patch) | |
tree | 6244d3f57e7faf4cd41496ab875fa315c7519194 /thirdparty/mbedtls/library/ssl_cookie.c | |
parent | 71616630e033670dc90c5d87fb65b758877f8ea1 (diff) | |
parent | 36d316876bd29a9157be08d51803c0f6277deb47 (diff) |
Merge pull request #56098 from Faless/mbedtls/2.16.12
Diffstat (limited to 'thirdparty/mbedtls/library/ssl_cookie.c')
-rw-r--r-- | thirdparty/mbedtls/library/ssl_cookie.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/thirdparty/mbedtls/library/ssl_cookie.c b/thirdparty/mbedtls/library/ssl_cookie.c index 04565e0b79..9e2136865d 100644 --- a/thirdparty/mbedtls/library/ssl_cookie.c +++ b/thirdparty/mbedtls/library/ssl_cookie.c @@ -250,15 +250,18 @@ int mbedtls_ssl_cookie_check( void *p_ctx, #if defined(MBEDTLS_THREADING_C) if( mbedtls_mutex_unlock( &ctx->mutex ) != 0 ) - return( MBEDTLS_ERR_SSL_INTERNAL_ERROR + + ret = ( MBEDTLS_ERR_SSL_INTERNAL_ERROR + MBEDTLS_ERR_THREADING_MUTEX_ERROR ); #endif if( ret != 0 ) - return( ret ); + goto exit; if( mbedtls_ssl_safer_memcmp( cookie + 4, ref_hmac, sizeof( ref_hmac ) ) != 0 ) - return( -1 ); + { + ret = -1; + goto exit; + } #if defined(MBEDTLS_HAVE_TIME) cur_time = (unsigned long) mbedtls_time( NULL ); @@ -272,8 +275,13 @@ int mbedtls_ssl_cookie_check( void *p_ctx, ( (unsigned long) cookie[3] ); if( ctx->timeout != 0 && cur_time - cookie_time > ctx->timeout ) - return( -1 ); + { + ret = -1; + goto exit; + } - return( 0 ); +exit: + mbedtls_platform_zeroize( ref_hmac, sizeof( ref_hmac ) ); + return( ret ); } #endif /* MBEDTLS_SSL_COOKIE_C */ |