diff options
author | mikewuping <mikewuping@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-11-03 03:34:43 +0000 |
---|---|---|
committer | mikewuping <mikewuping@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-11-03 03:34:43 +0000 |
commit | c91eaa3d55d88598baaa979097a31cb1001ecc0d (patch) | |
tree | 222ee4336cc2884c432a7f2ce14561a4a953c6b7 /EdkNt32Pkg/RuntimeDxe/FvbServices/FWBlockService.c | |
parent | 511710d68f477e0210ae1830769e5d0cde4ea36a (diff) | |
download | edk2-platforms-c91eaa3d55d88598baaa979097a31cb1001ecc0d.tar.xz |
I fixed following bugs in EDKII.
1. In AsmFuncs.asm, DebugSupport, Vect2Desc() function will use hardcode CS to fill the IDT. 20h for Ia32.If the system CS is changed by CPU driver, this driver can not work. System maybe crash.
2. In EBC, RegisterExceptionCallback() can not restore the environment and I add some enhancements.
3. In Image.c, CoreLoadImageCommon never return EFI_SECURITY_VIOLATION when SecurityStatus == EFI_SECURITY_VIOLATION.
4. In Variable.c, 1. There're additional unnecessary loop. All blocks will be gone through even if all the data has been written. We should check the "CurrWriteSize" to see if there's no more data to write, and stop the for loop immediately. 2 "if.else." can be merged to save lines of code.
5. in FvbServices,c, Checksum calculation error.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1891 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkNt32Pkg/RuntimeDxe/FvbServices/FWBlockService.c')
-rw-r--r-- | EdkNt32Pkg/RuntimeDxe/FvbServices/FWBlockService.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/EdkNt32Pkg/RuntimeDxe/FvbServices/FWBlockService.c b/EdkNt32Pkg/RuntimeDxe/FvbServices/FWBlockService.c index 1f2f8fd2b4..8824dc412a 100644 --- a/EdkNt32Pkg/RuntimeDxe/FvbServices/FWBlockService.c +++ b/EdkNt32Pkg/RuntimeDxe/FvbServices/FWBlockService.c @@ -1196,8 +1196,9 @@ Returns: Ptr = (UINT16 *) FwVolHeader;
Checksum = 0;
while (HeaderLength > 0) {
- Checksum = *Ptr++;
+ Checksum = Checksum + (*Ptr);
HeaderLength--;
+ Ptr++;
}
if (Checksum != 0) {
|