diff --git a/src/tpm2/crypto/openssl/CryptCmac.c b/src/tpm2/crypto/openssl/CryptCmac.c index 8e35a598..e0e4eda7 100644 --- a/src/tpm2/crypto/openssl/CryptCmac.c +++ b/src/tpm2/crypto/openssl/CryptCmac.c @@ -121,6 +121,7 @@ CryptCmacData( tpmCryptKeySchedule_t keySchedule; TpmCryptSetSymKeyCall_t encrypt; // + memset(&keySchedule, 0, sizeof(keySchedule)); /* libtpms added: coverity */ SELECT(ENCRYPT); while(size > 0) { @@ -157,6 +158,7 @@ CryptCmacEnd( TPM2B_IV subkey = {{0, {0}}}; BOOL xorVal; UINT16 i; + memset(&keySchedule, 0, sizeof(keySchedule)); /* libtpms added: coverity */ subkey.t.size = cState->iv.t.size; // Encrypt a block of zero SELECT(ENCRYPT); diff --git a/src/tpm2/crypto/openssl/CryptRand.c b/src/tpm2/crypto/openssl/CryptRand.c index 118e1c9a..b5691947 100644 --- a/src/tpm2/crypto/openssl/CryptRand.c +++ b/src/tpm2/crypto/openssl/CryptRand.c @@ -358,6 +358,7 @@ DRBG_Update( DRBG_KEY *key = pDRBG_KEY(&drbgState->seed); DRBG_IV *iv = pDRBG_IV(&drbgState->seed); DRBG_KEY_SCHEDULE localKeySchedule; + memset(&localKeySchedule, 0, sizeof(localKeySchedule)); /* libtpms added: coverity */ // pAssert(drbgState->magic == DRBG_MAGIC); // If an key schedule was not provided, make one @@ -745,6 +746,7 @@ DRBG_Generate( DRBG_STATE *drbgState = (DRBG_STATE *)state; DRBG_KEY_SCHEDULE keySchedule; DRBG_SEED *seed = &drbgState->seed; + memset(&keySchedule, 0, sizeof(keySchedule)); /* libtpms added: coverity */ if(drbgState->reseedCounter >= CTR_DRBG_MAX_REQUESTS_PER_RESEED) { if(drbgState == &drbgDefault)