From 691aa3308cbee3746bd88d096328425d561b0457 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Tue, 6 Dec 2022 20:11:26 +0100 Subject: [PATCH] Fix when importing a dkek and it fails. Now the dkek state is returned to the previous one. Signed-off-by: Pol Henarejos --- src/hsm/cmd_key_domain.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hsm/cmd_key_domain.c b/src/hsm/cmd_key_domain.c index d06eb73..3ae114b 100644 --- a/src/hsm/cmd_key_domain.c +++ b/src/hsm/cmd_key_domain.c @@ -56,8 +56,11 @@ int cmd_key_domain() { } import_dkek_share(p2, apdu.data); if (++current_dkeks >= dkeks) { - if (save_dkek_key(p2, NULL) != CCID_OK) + if (save_dkek_key(p2, NULL) != CCID_OK) { + /* On fail, it will return to previous dkek state. */ + import_dkek_share(p2, apdu.data); return SW_FILE_NOT_FOUND(); + } } uint8_t t[MAX_KEY_DOMAINS*2]; memcpy(t, kdata, tf_kd_size);