From ecfc3b4c1e9a59c6a230398bced24118d19ea099 Mon Sep 17 00:00:00 2001 From: William Roberts Date: Thu, 7 Jul 2022 09:00:19 -0500 Subject: [PATCH 23/23] SAPI: fix number of handles for FlushContext The lookup table for the number of command handles for Tss2_Sys_FlushContext has the count set to 1, when in reality the command takes no handles in the handle area but a handle as the input parameter. This works currently because handles and parameters are just concatenated and the parsing logic on the TPM just unpacks them, so in this case, thet're in the same spot with the same value. This goes unnoticed until you call Tss2_Sys_GetCpBuffer and the buffer is empty as the logic things its a handle in the handle area and not a handle in the parameter area. Signed-off-by: William Roberts --- src/tss2-sys/sysapi_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tss2-sys/sysapi_util.c b/src/tss2-sys/sysapi_util.c index d84acc5d..a92f47a2 100644 --- a/src/tss2-sys/sysapi_util.c +++ b/src/tss2-sys/sysapi_util.c @@ -262,7 +262,7 @@ static int GetNumHandles(TPM2_CC commandCode, bool req) { TPM2_CC_FirmwareRead, 0, 0 }, { TPM2_CC_ContextSave, 1, 0 }, { TPM2_CC_ContextLoad, 0, 1 }, - { TPM2_CC_FlushContext, 1, 0 }, + { TPM2_CC_FlushContext, 0, 0 }, { TPM2_CC_EvictControl, 2, 0 }, { TPM2_CC_ReadClock, 0, 0 }, { TPM2_CC_ClockSet, 1, 0 }, -- 2.34.3