]> git.proxmox.com Git - mirror_edk2.git/commitdiff
CalculateSum8() and CalculateSum16() defined in BaseLib are used to calculate checksum.
authorlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 17 May 2011 12:13:35 +0000 (12:13 +0000)
committerlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 17 May 2011 12:13:35 +0000 (12:13 +0000)
Signed-off-by: lzeng14
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11674 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/Dxe/FwVol/Ffs.c

index 5eb22d0ac5ffa70e02409e43078a15505323006f..2bd4405cf13f7feb15b40b627d5bced8e334d11a 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   FFS file access utilities.\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -105,18 +105,9 @@ VerifyFvHeaderChecksum (
   IN EFI_FIRMWARE_VOLUME_HEADER *FvHeader\r
   )\r
 {\r
-  UINT32  Index;\r
-  UINT32  HeaderLength;\r
   UINT16  Checksum;\r
-  UINT16  *Ptr;\r
 \r
-  HeaderLength = FvHeader->HeaderLength;\r
-  Ptr = (UINT16 *)FvHeader;\r
-  Checksum = 0;\r
-\r
-  for (Index = 0; Index < HeaderLength / sizeof (UINT16); Index++) {\r
-    Checksum = (UINT16)(Checksum + Ptr[Index]);\r
-  }\r
+  Checksum = CalculateSum16 ((UINT16 *) FvHeader, FvHeader->HeaderLength);\r
 \r
   if (Checksum == 0) {\r
     return TRUE;\r
@@ -140,16 +131,9 @@ VerifyHeaderChecksum (
   IN EFI_FFS_FILE_HEADER  *FfsHeader\r
   )\r
 {\r
-  UINT32            Index;\r
-  UINT8             *Ptr;\r
-  UINT8             HeaderChecksum;\r
-\r
-  Ptr = (UINT8 *)FfsHeader;\r
-  HeaderChecksum = 0;\r
-  for (Index = 0; Index < sizeof(EFI_FFS_FILE_HEADER); Index++) {\r
-    HeaderChecksum = (UINT8)(HeaderChecksum + Ptr[Index]);\r
-  }\r
+  UINT8 HeaderChecksum;\r
 \r
+  HeaderChecksum = CalculateSum8 ((UINT8 *) FfsHeader, sizeof (EFI_FFS_FILE_HEADER));\r
   HeaderChecksum = (UINT8) (HeaderChecksum - FfsHeader->State - FfsHeader->IntegrityCheck.Checksum.File);\r
 \r
   if (HeaderChecksum == 0) {\r