From 68f40848300dfe751a8cba0c7d58e7984c91e9f4 Mon Sep 17 00:00:00 2001 From: aidan garske Date: Mon, 22 Jun 2026 12:38:24 -0700 Subject: [PATCH] F-6312 - Cover ECC, KEYEDHASH, SYMCIPHER arms in AppendSensitive clamp test --- tests/unit_tests.c | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/tests/unit_tests.c b/tests/unit_tests.c index 6568ebab..80361234 100644 --- a/tests/unit_tests.c +++ b/tests/unit_tests.c @@ -3210,21 +3210,48 @@ static void test_TPM2_AppendSensitive_Clamp(void) TPM2_Packet packet; byte buf[1024]; TPM2B_SENSITIVE sens; - word16 bufCap; + word16 rsaCap, eccCap, bitsCap, symCap; + + rsaCap = (word16)sizeof(sens.sensitiveArea.sensitive.rsa.buffer); + eccCap = (word16)sizeof(sens.sensitiveArea.sensitive.ecc.buffer); + bitsCap = (word16)sizeof(sens.sensitiveArea.sensitive.bits.buffer); + symCap = (word16)sizeof(sens.sensitiveArea.sensitive.sym.buffer); XMEMSET(&sens, 0, sizeof(sens)); sens.sensitiveArea.sensitiveType = TPM_ALG_RSA; - bufCap = (word16)sizeof(sens.sensitiveArea.sensitive.rsa.buffer); - sens.sensitiveArea.sensitive.rsa.size = bufCap + 100; - - XMEMSET(buf, 0, sizeof(buf)); + sens.sensitiveArea.sensitive.rsa.size = rsaCap + 100; XMEMSET(&packet, 0, sizeof(packet)); packet.buf = buf; packet.size = sizeof(buf); - TPM2_Packet_AppendSensitive(&packet, &sens); + AssertIntEQ(sens.sensitiveArea.sensitive.rsa.size, rsaCap); - AssertIntEQ(sens.sensitiveArea.sensitive.rsa.size, bufCap); + XMEMSET(&sens, 0, sizeof(sens)); + sens.sensitiveArea.sensitiveType = TPM_ALG_ECC; + sens.sensitiveArea.sensitive.ecc.size = eccCap + 100; + XMEMSET(&packet, 0, sizeof(packet)); + packet.buf = buf; + packet.size = sizeof(buf); + TPM2_Packet_AppendSensitive(&packet, &sens); + AssertIntEQ(sens.sensitiveArea.sensitive.ecc.size, eccCap); + + XMEMSET(&sens, 0, sizeof(sens)); + sens.sensitiveArea.sensitiveType = TPM_ALG_KEYEDHASH; + sens.sensitiveArea.sensitive.bits.size = bitsCap + 100; + XMEMSET(&packet, 0, sizeof(packet)); + packet.buf = buf; + packet.size = sizeof(buf); + TPM2_Packet_AppendSensitive(&packet, &sens); + AssertIntEQ(sens.sensitiveArea.sensitive.bits.size, bitsCap); + + XMEMSET(&sens, 0, sizeof(sens)); + sens.sensitiveArea.sensitiveType = TPM_ALG_SYMCIPHER; + sens.sensitiveArea.sensitive.sym.size = symCap + 100; + XMEMSET(&packet, 0, sizeof(packet)); + packet.buf = buf; + packet.size = sizeof(buf); + TPM2_Packet_AppendSensitive(&packet, &sens); + AssertIntEQ(sens.sensitiveArea.sensitive.sym.size, symCap); printf("Test TPM2: %-40s Passed\n", "AppendSensitive clamp:"); }