From 8692ec8bc0954b50c7bc33295b4a54bf946ccc32 Mon Sep 17 00:00:00 2001 From: Minos Galanakis Date: Fri, 20 Jan 2023 15:27:32 +0000 Subject: [PATCH] pkarse: Added `pk_group_id_from_specified()` documentation. Signed-off-by: Minos Galanakis --- library/pkparse.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/library/pkparse.c b/library/pkparse.c index 53e6dd0ba5..ccca692b7e 100644 --- a/library/pkparse.c +++ b/library/pkparse.c @@ -429,6 +429,13 @@ static int pk_group_id_from_specified(const mbedtls_asn1_buf *params, ret = pk_group_id_from_group(&grp, grp_id); cleanup: + /* The API respecting lifecycle for mbedtls_ecp_group struct is + * _init(), _load() and _free(). In pk_group_id_from_specified() the + * temporary grp breaks that flow and it's members are populated + * by pk_group_id_from_group(). As such mbedtls_ecp_group_free() + * which is assuming a group populated by _setup() may not clean-up + * properly -> Manually free it's members. + */ mbedtls_mpi_free(&grp.N); mbedtls_mpi_free(&grp.P); mbedtls_mpi_free(&grp.A);