Insert assert ensuring *buflen != BUFLEN_EMPTY_BUFFER (Coverity)

Address a false positive issue detect by Coverity (CID 1517797)
about *buflen.

Per this assignment of buflen

cached_blobs[st].buflen = buffer ? buflen : BUFLEN_EMPTY_BUFFER;

the following is true:

If cached_blobs[].buffer is     NULL then *buflen  = BUFLEN_EMPTY_BUFFER
If cached_blobs[].buffer is not NULL then *buflen != BUFLEN_EMPTY_BUFFER

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
This commit is contained in:
Stefan Berger 2023-07-12 21:15:54 -04:00 committed by Stefan Berger
parent 39f330c041
commit cf625bd27f

View File

@ -628,6 +628,8 @@ TPM_RESULT CopyCachedState(enum TPMLIB_StateType st,
*is_empty_buffer = (*buflen == BUFLEN_EMPTY_BUFFER);
if (cached_blobs[st].buffer) {
assert(*buflen != BUFLEN_EMPTY_BUFFER);
*buffer = malloc(*buflen);
if (!*buffer) {
TPMLIB_LogError("Could not allocate %u bytes.\n", *buflen);