tree 7bb2ee97e49f99797163256b3e85436ae738a8bd
parent c94a1c4cbdae46f98f1d35b01195c45e71ea1724
author Stefan Berger <stefanb@linux.ibm.com> 1664554620 -0400
committer Stefan Berger <stefanb@us.ibm.com> 1664557926 -0400

swtpm: Return TPM_FAIL if SWTPM_NVRAM_DecrytpData is called without key

Return TPM_FAIL if SWTPM_NVRAM_DecryptData() is called without a key or
if an unhandle type of encryption mode is encountered. Previously this
function would return no error but also would not do any decryption if
no key was provided. Consequently, it would then also not return a byte
array with decrypted data which in turn could led to potential NULL
pointer accesses in subsequent calls. However, all current callers check
whether they have a valid key before they call this function. So the
change is primarily done for static analyzers, such as gcc -fanalyzer,
to ease code analysis.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
