]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.c
SecurityPkg: Remove dead code and inf redundant definitions.
[mirror_edk2.git] / SecurityPkg / Hash2DxeCrypto / Hash2DxeCrypto.c
index 94057ab2e1fc7489ea344fbce509883b8db65352..476cc3f9649374cdebf115e05572ccc2fc2fed74 100644 (file)
@@ -2,7 +2,7 @@
   This module implements Hash2 Protocol.\r
 \r
 (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>\r
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials are licensed and made available under\r
 the terms and conditions of the BSD License that accompanies this distribution.\r
 The full text of the license may be found at\r
@@ -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
@@ -374,7 +374,7 @@ BaseCrypto2Hash (
   if (HashInfo == NULL) {\r
     return EFI_UNSUPPORTED;\r
   }\r
-  \r
+\r
   Instance = HASH2_INSTANCE_DATA_FROM_THIS(This);\r
   if (Instance->HashContext != NULL) {\r
     FreePool (Instance->HashContext);\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