From 182c2e98365c20c5e0e8bca3180ec74d26d1d17f Mon Sep 17 00:00:00 2001 From: Gilles Peskine Date: Fri, 19 Oct 2018 11:33:51 +0200 Subject: [PATCH] psa_constant_names: fix display for truncated unknown MAC/AEAD algorithm --- scripts/generate_psa_constants.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/generate_psa_constants.py b/scripts/generate_psa_constants.py index 3e4e88b77..bcda282ce 100755 --- a/scripts/generate_psa_constants.py +++ b/scripts/generate_psa_constants.py @@ -62,7 +62,10 @@ static int psa_snprint_algorithm(char *buffer, size_t buffer_size, } } else if (PSA_ALG_IS_AEAD(alg)) { core_alg = PSA_ALG_AEAD_WITH_DEFAULT_TAG_LENGTH(alg); - if (core_alg != alg) { + if (core_alg == 0) { + /* For unkonwn AEAD algorithms, there is no "default tag length". */ + core_alg = alg; + } else if (core_alg != alg) { append(&buffer, buffer_size, &required_size, "PSA_ALG_AEAD_WITH_TAG_LENGTH(", 29); length_modifier = PSA_AEAD_TAG_LENGTH(alg); @@ -73,7 +76,7 @@ static int psa_snprint_algorithm(char *buffer, size_t buffer_size, default: %(algorithm_code)s{ append_integer(&buffer, buffer_size, &required_size, - "0x%%08lx", (unsigned long) alg); + "0x%%08lx", (unsigned long) core_alg); } break; }