From 41670bef6a38113d8a3c50623b22da6998f633d2 Mon Sep 17 00:00:00 2001 From: "Aaron Tulino (Aaronjamt)" Date: Sun, 21 Dec 2025 02:58:56 -0700 Subject: [PATCH] Fix CMAC padding for ARM --- armsrc/cmac_3des.c | 4 +--- armsrc/cmac_calc.c | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/armsrc/cmac_3des.c b/armsrc/cmac_3des.c index f857ca190..23c3509c8 100644 --- a/armsrc/cmac_3des.c +++ b/armsrc/cmac_3des.c @@ -63,11 +63,9 @@ static void generate_subkeys(mbedtls_des3_context *ctx, uint8_t *K1, uint8_t *K2 // Pad the last block (adds 0x80 followed by zeros) static void padding(const uint8_t *lastb, uint8_t *pad, size_t len) { + memset(pad, 0x00, len); memcpy(pad, lastb, len); pad[len] = 0x80; - for (size_t i = len + 1; i < 16; i++) { - pad[i] = 0x00; - } } // CMAC implementation diff --git a/armsrc/cmac_calc.c b/armsrc/cmac_calc.c index 081edae71..38c6ea410 100644 --- a/armsrc/cmac_calc.c +++ b/armsrc/cmac_calc.c @@ -89,11 +89,9 @@ static void generate_subkeys(mbedtls_aes_context *ctx, uint8_t *K1, uint8_t *K2) // Pad the last block (adds 0x80 followed by zeros) static void padding(const uint8_t *lastb, uint8_t *pad, size_t len) { + memset(pad, 0x00, len); memcpy(pad, lastb, len); pad[len] = 0x80; - for (size_t i = len + 1; i < 16; i++) { - pad[i] = 0x00; - } } // CMAC implementation