From f75f4aff8f6e4ae148bde858ee1cb7f1066f5f23 Mon Sep 17 00:00:00 2001 From: Ingo Franzki Date: Wed, 5 Feb 2020 14:20:49 +0100 Subject: [PATCH] zkey: Fix display of XTS attribute for validate command MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use after free causes the XTS attribute to be displayed wrongly. Fixes: 298fab68fee8 ("zkey: Preparations for introducing a new key type") Signed-off-by: Ingo Franzki Signed-off-by: Jan Höppner --- zkey/keystore.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/zkey/keystore.c b/zkey/keystore.c index 732432eb..2cf37bc0 100644 --- a/zkey/keystore.c +++ b/zkey/keystore.c @@ -2539,7 +2539,7 @@ static int _keystore_process_validate(struct keystore *keystore, size_t secure_key_size; u8 mkvp[MKVP_LENGTH]; char *apqns = NULL; - u8 *secure_key; + u8 *secure_key = NULL; int is_old_mk; int rc, valid; @@ -2572,8 +2572,7 @@ static int _keystore_process_validate(struct keystore *keystore, rc = get_master_key_verification_pattern(secure_key, secure_key_size, mkvp, keystore->verbose); - free(secure_key); - if (rc) + if (rc != 0) goto out; _keystore_print_record(info->rec, name, properties, 1, @@ -2599,6 +2598,8 @@ static int _keystore_process_validate(struct keystore *keystore, info->num_warnings++; out: + if (secure_key != NULL) + free(secure_key); if (apqns != NULL) free(apqns); if (apqn_list != NULL)