mbedtls: Fix memory leak in initial ECDH exchange if OOM/failure occurs
In ecp_mul_comb(), if (!p_eq_g && grp->T == NULL) and ecp_precompute_comb() fails (which can happen due to OOM), then the new array of points T was leaked.
This commit is contained in:
parent
bdc499aea7
commit
5d736f7eca
|
@ -1406,7 +1406,7 @@ static int ecp_mul_comb( mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
|
||||||
if( T != NULL && ! p_eq_g )
|
if( T != NULL && T != grp->T )
|
||||||
{
|
{
|
||||||
for( i = 0; i < pre_len; i++ )
|
for( i = 0; i < pre_len; i++ )
|
||||||
mbedtls_ecp_point_free( &T[i] );
|
mbedtls_ecp_point_free( &T[i] );
|
||||||
|
|
Loading…
Reference in a new issue