From d369956d42764dc8173a8bf8106ed0f1defedec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Duda?= Date: Wed, 12 Dec 2018 07:30:07 +0100 Subject: [PATCH] [ecdsa] do not free mpi context before initializing it (#3366) --- src/core/crypto/ecdsa.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/core/crypto/ecdsa.cpp b/src/core/crypto/ecdsa.cpp index eac09cf70..f02a951df 100644 --- a/src/core/crypto/ecdsa.cpp +++ b/src/core/crypto/ecdsa.cpp @@ -61,6 +61,8 @@ otError Ecdsa::Sign(uint8_t * aOutput, mbedtls_pk_init(&pkCtx); mbedtls_ecdsa_init(&ctx); + mbedtls_mpi_init(&rMpi); + mbedtls_mpi_init(&sMpi); // Parse a private key in PEM format. VerifyOrExit(mbedtls_pk_parse_key(&pkCtx, aPrivateKey, aPrivateKeyLength, NULL, 0) == 0, @@ -72,9 +74,6 @@ otError Ecdsa::Sign(uint8_t * aOutput, VerifyOrExit(mbedtls_ecdsa_from_keypair(&ctx, keypair) == 0, error = OT_ERROR_FAILED); - mbedtls_mpi_init(&rMpi); - mbedtls_mpi_init(&sMpi); - // Sign using ECDSA. VerifyOrExit(mbedtls_ecdsa_sign(&ctx.grp, &rMpi, &sMpi, &ctx.d, aInputHash, aInputHashLength, FillRandom, NULL) == 0,