From ac224063fcf100b1aa034bdca191752f2a6b46ed Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Tue, 4 Oct 2022 16:57:45 +0200 Subject: [PATCH] Fix freeing memory. Signed-off-by: Pol Henarejos --- src/fido/cbor_get_assertion.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/fido/cbor_get_assertion.c b/src/fido/cbor_get_assertion.c index 7476d48..a46f7be 100644 --- a/src/fido/cbor_get_assertion.c +++ b/src/fido/cbor_get_assertion.c @@ -512,10 +512,12 @@ int cbor_get_assertion(const uint8_t *data, size_t len, bool next) { flash_write_data_to_file(ef_counter, (uint8_t *)&ctr, sizeof(ctr)); low_flash_available(); err: + CBOR_FREE_BYTE_STRING(clientDataHash); + CBOR_FREE_BYTE_STRING(pinUvAuthParam); + CBOR_FREE_BYTE_STRING(rpId); if (asserted == false) { - CBOR_FREE_BYTE_STRING(clientDataHash); - CBOR_FREE_BYTE_STRING(pinUvAuthParam); - CBOR_FREE_BYTE_STRING(rpId); + for (int i = 0; i < MAX_CREDENTIAL_COUNT_IN_LIST; i++) + credential_free(&creds[i]); } for (int m = 0; m < allowList_len; m++) {