From cbd894e28154bd73fa088cbe5658c2d33ab7919b Mon Sep 17 00:00:00 2001 From: Stefan Berger Date: Thu, 3 Oct 2024 12:33:11 -0400 Subject: [PATCH] tpm2: Add fallthrough comments to avoid static analyzer warnings Signed-off-by: Stefan Berger --- src/tpm2/AlgorithmTests.c | 1 + src/tpm2/NVCommands.c | 2 +- src/tpm2/Object_spt.c | 1 + src/tpm2/Unmarshal.c | 16 ++++++++++++++++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/tpm2/AlgorithmTests.c b/src/tpm2/AlgorithmTests.c index a8a27054..eca917d0 100644 --- a/src/tpm2/AlgorithmTests.c +++ b/src/tpm2/AlgorithmTests.c @@ -886,6 +886,7 @@ TestAlgorithm(TPM_ALG_ID alg, ALGORITHM_VECTOR* toTest) case TPM_ALG_SM4: /* libtpms changed */ # endif // ALG_SM4 # if ALG_CAMELLIA + /* fallthrough */ case TPM_ALG_CAMELLIA: // libtpms activated # endif # if ALG_TDES diff --git a/src/tpm2/NVCommands.c b/src/tpm2/NVCommands.c index e6a53972..f5ce5fc7 100644 --- a/src/tpm2/NVCommands.c +++ b/src/tpm2/NVCommands.c @@ -154,9 +154,9 @@ TPM2_NV_DefineSpace( // It is not allowed to create a PIN Index that can't be modified. if(!IS_ATTRIBUTE(attributes, TPMA_NV, NO_DA)) return TPM_RCS_ATTRIBUTES + RC_NV_DefineSpace_publicInfo; - /* fall through */ #endif #ifdef TPM_NT_PIN_PASS + /* fallthrough */ // libtpms moved case TPM_NT_PIN_PASS: // AUTHWRITE must be CLEAR (see note above to TPM_NT_PIN_FAIL) if(IS_ATTRIBUTE(attributes, TPMA_NV, AUTHWRITE) diff --git a/src/tpm2/Object_spt.c b/src/tpm2/Object_spt.c index a4c6393e..c1c49064 100644 --- a/src/tpm2/Object_spt.c +++ b/src/tpm2/Object_spt.c @@ -427,6 +427,7 @@ CreateChecks(OBJECT* parentObject, // comment out the next line in order to prevent a fixedTPM derivation // parent // break; + /* fallthrough */ // libtpms added case TPM_ALG_SYMCIPHER: // A restricted key symmetric key (SYMCIPHER and KEYEDHASH) // must have sensitiveDataOrigin SET unless it has fixedParent and diff --git a/src/tpm2/Unmarshal.c b/src/tpm2/Unmarshal.c index 7c3d4d08..e2aa0215 100644 --- a/src/tpm2/Unmarshal.c +++ b/src/tpm2/Unmarshal.c @@ -905,6 +905,7 @@ TPMI_RH_HIERARCHY_Unmarshal(TPMI_RH_HIERARCHY *target, BYTE **buffer, INT32 *siz if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_VALUE; *target = orig_target; // libtpms added @@ -935,6 +936,7 @@ TPMI_RH_ENABLES_Unmarshal(TPMI_RH_ENABLES *target, BYTE **buffer, INT32 *size, B if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_VALUE; *target = orig_target; // libtpms added @@ -1042,6 +1044,7 @@ TPMI_RH_ENDORSEMENT_Unmarshal(TPMI_RH_ENDORSEMENT *target, BYTE **buffer, INT32 if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_VALUE; *target = orig_target; // libtpms added @@ -1339,6 +1342,7 @@ TPMI_ALG_HASH_Unmarshal(TPMI_ALG_HASH *target, BYTE **buffer, INT32 *size, BOOL if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_HASH; } @@ -1386,6 +1390,7 @@ TPMI_ALG_SYM_Unmarshal(TPMI_ALG_SYM *target, BYTE **buffer, INT32 *size, BOOL al if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_SYMMETRIC; } @@ -1430,6 +1435,7 @@ TPMI_ALG_SYM_OBJECT_Unmarshal(TPMI_ALG_SYM_OBJECT *target, BYTE **buffer, INT32 if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_SYMMETRIC; } @@ -1480,6 +1486,7 @@ TPMI_ALG_SYM_MODE_Unmarshal(TPMI_ALG_SYM_MODE *target, BYTE **buffer, INT32 *siz if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_MODE; } @@ -1520,6 +1527,7 @@ TPMI_ALG_KDF_Unmarshal(TPMI_ALG_KDF *target, BYTE **buffer, INT32 *size, BOOL al if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_KDF; *target = orig_target; // libtpms added @@ -1571,6 +1579,7 @@ TPMI_ALG_SIG_SCHEME_Unmarshal(TPMI_ALG_SIG_SCHEME *target, BYTE **buffer, INT32 if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_SCHEME; } @@ -1612,6 +1621,7 @@ TPMI_ECC_KEY_EXCHANGE_Unmarshal(TPMI_ECC_KEY_EXCHANGE *target, BYTE **buffer, IN if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_SCHEME; } @@ -1687,6 +1697,7 @@ TPMI_ALG_MAC_SCHEME_Unmarshal(TPMI_ALG_MAC_SCHEME *target, BYTE **buffer, INT32 if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_SYMMETRIC; } @@ -1734,6 +1745,7 @@ TPMI_ALG_CIPHER_MODE_Unmarshal(TPMI_ALG_CIPHER_MODE*target, BYTE **buffer, INT32 if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_MODE; } @@ -3303,6 +3315,7 @@ TPMI_ALG_KEYEDHASH_SCHEME_Unmarshal(TPMI_ALG_KEYEDHASH_SCHEME *target, BYTE **bu if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_VALUE; *target = orig_target; // libtpms added @@ -3860,6 +3873,7 @@ TPMI_ALG_RSA_SCHEME_Unmarshal(TPMI_ALG_RSA_SCHEME *target, BYTE **buffer, INT32 if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_VALUE; } @@ -3911,6 +3925,7 @@ TPMI_ALG_RSA_DECRYPT_Unmarshal(TPMI_ALG_RSA_DECRYPT *target, BYTE **buffer, INT3 if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_VALUE; *target = orig_target; // libtpms added @@ -4101,6 +4116,7 @@ TPMI_ALG_ECC_SCHEME_Unmarshal(TPMI_ALG_ECC_SCHEME *target, BYTE **buffer, INT32 if (allowNull) { break; } + /* fallthrough */ default: rc = TPM_RC_SCHEME; }