]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.c
SecurityPkg/TrEEPhysicalPresenceLib: remove TrEE.
[mirror_edk2.git] / SecurityPkg / Hash2DxeCrypto / Hash2DxeCrypto.c
index 94057ab2e1fc7489ea344fbce509883b8db65352..93e32739164d1165d3112b21a3b774211b93f51c 100644 (file)
@@ -64,7 +64,7 @@ BOOLEAN
 \r
   This function performs Hash digest on a data buffer of the specified size.\r
   It can be called multiple times to compute the digest of long or discontinuous data streams.\r
-  Hash context should be already correctly intialized by HashInit(), and should not be finalized\r
+  Hash context should be already correctly initialized by HashInit(), and should not be finalized\r
   by HashFinal(). Behavior with invalid context is undefined.\r
 \r
   If HashContext is NULL, then return FALSE.\r
@@ -500,6 +500,7 @@ BaseCrypto2HashInit (
   //\r
   Instance->HashContext = HashCtx;\r
   Instance->HashInfoContext = HashInfo;\r
+  Instance->Updated = FALSE;\r
 \r
   return EFI_SUCCESS;\r
 }\r
@@ -551,6 +552,8 @@ BaseCrypto2HashUpdate (
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
+  Instance->Updated = TRUE;\r
+\r
   return EFI_SUCCESS;\r
 }\r
 \r
@@ -590,7 +593,8 @@ BaseCrypto2HashFinal (
   // Consistency Check\r
   //\r
   Instance = HASH2_INSTANCE_DATA_FROM_THIS(This);\r
-  if ((Instance->HashContext == NULL) || (Instance->HashInfoContext == NULL)) {\r
+  if ((Instance->HashContext == NULL) || (Instance->HashInfoContext == NULL) ||\r
+      (!Instance->Updated)) {\r
     return EFI_NOT_READY;\r
   }\r
   HashInfo = Instance->HashInfoContext;\r
@@ -604,6 +608,7 @@ BaseCrypto2HashFinal (
   FreePool (HashCtx);\r
   Instance->HashInfoContext = NULL;\r
   Instance->HashContext = NULL;\r
+  Instance->Updated = FALSE;\r
 \r
   if (!Ret) {\r
     return EFI_OUT_OF_RESOURCES;\r