]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Common/FvLib.c
Sync tool code to BuildTools project r1739.
[mirror_edk2.git] / BaseTools / Source / C / Common / FvLib.c
index 292b077f34899cfcec818a3db9675889290a5a81..dc50e877e64e3417c01b6665ac5bc06562300010 100644 (file)
@@ -703,8 +703,8 @@ Returns:
     // Verify file data checksum\r
     //\r
     FileLength          = GetLength (FfsHeader->Size);\r
-    Checksum            = CalculateSum8 ((UINT8 *) FfsHeader, FileLength);\r
-    Checksum            = (UINT8) (Checksum - FfsHeader->State);\r
+    Checksum            = CalculateSum8 ((UINT8 *) (FfsHeader + 1), FileLength - sizeof (EFI_FFS_FILE_HEADER));\r
+    Checksum            = Checksum + FfsHeader->IntegrityCheck.Checksum.File;\r
     if (Checksum != 0) {\r
       Error (NULL, 0, 0006, "invalid FFS file checksum", "Ffs file with Guid %s", FileGuidString);\r
       return EFI_ABORTED;\r
@@ -712,7 +712,7 @@ Returns:
   } else {\r
     //\r
     // File does not have a checksum\r
-    // Verify contents are 0x5A as spec'd\r
+    // Verify contents are 0xAA as spec'd\r
     //\r
     if (FfsHeader->IntegrityCheck.Checksum.File != FFS_FIXED_CHECKSUM) {\r
       Error (NULL, 0, 0006, "invalid fixed FFS file header checksum", "Ffs file with Guid %s", FileGuidString);\r