UINTN CtxSize;\r
BOOLEAN Ret;\r
EFI_STATUS Status;\r
+ HASH2_INSTANCE_DATA *Instance;\r
\r
Status = EFI_SUCCESS;\r
\r
if (HashInfo == NULL) {\r
return EFI_UNSUPPORTED;\r
}\r
+ \r
+ Instance = HASH2_INSTANCE_DATA_FROM_THIS(This);\r
+ if (Instance->HashContext != NULL) {\r
+ FreePool (Instance->HashContext);\r
+ }\r
+ Instance->HashInfoContext = NULL;\r
+ Instance->HashContext = NULL;\r
\r
//\r
// Start hash sequence\r
goto Done;\r
}\r
\r
+ //\r
+ // Setup the context\r
+ //\r
+ Instance->HashContext = HashCtx;\r
+ Instance->HashInfoContext = HashInfo;\r
+\r
Ret = HashInfo->Update (HashCtx, Message, MessageSize);\r
if (!Ret) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Done;\r
}\r
Done:\r
+ //\r
+ // Cleanup the context\r
+ //\r
FreePool (HashCtx);\r
+ Instance->HashInfoContext = NULL;\r
+ Instance->HashContext = NULL;\r
return Status;\r
}\r
\r