diff --git a/ChangeLog b/ChangeLog index 827294852..f09995f8c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -38,6 +38,8 @@ Bugfix * Update test certificates that were about to expire. Reported by Bernhard M. Wiedemann in #2357. * Make NV seed test support MBEDTLS_ENTROPY_FORCE_SHA256. + * Fix memory leak in in mpi_miller_rabin(). Contributed by + Jens Wiklander in #2363. Changes * Make `make clean` clean all programs always. Fixes #1862. diff --git a/library/bignum.c b/library/bignum.c index d142fe69b..2b0a14549 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -2138,7 +2138,8 @@ static int mpi_miller_rabin( const mbedtls_mpi *X, size_t rounds, } if (count++ > 30) { - return MBEDTLS_ERR_MPI_NOT_ACCEPTABLE; + ret = MBEDTLS_ERR_MPI_NOT_ACCEPTABLE; + goto cleanup; } } while ( mbedtls_mpi_cmp_mpi( &A, &W ) >= 0 ||