diff options
author | dtang2 <dtang2@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-11-02 07:24:49 +0000 |
---|---|---|
committer | dtang2 <dtang2@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-11-02 07:24:49 +0000 |
commit | d73196f3298bebecfa6c81b25e7548d188e08c56 (patch) | |
tree | ba81df122cb15dc514d5907f670a3473972ca37b /EdkModulePkg/Universal | |
parent | 1723b2e2b2c1e50c9910f2043bb3f349bdcc45e6 (diff) | |
download | edk2-platforms-d73196f3298bebecfa6c81b25e7548d188e08c56.tar.xz |
Bug fix for "CapsuleUpdate does not handle memory lost correctly"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1886 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkModulePkg/Universal')
-rw-r--r-- | EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c b/EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c index e07cbc8ab0..9f4fe3c061 100644 --- a/EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c +++ b/EdkModulePkg/Universal/Capsule/RuntimeDxe/CapsuleService.c @@ -75,11 +75,11 @@ Returns: //
for (ArrayNumber = 0; ArrayNumber < CapsuleCount; ArrayNumber++) {
CapsuleHeader = CapsuleHeaderArray[ArrayNumber];
- if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) && !(CapsuleHeader->Flags & CAPSULE_FLAGS_PERSIST_ACROSS_RESET)) {
+ if ((CapsuleHeader->Flags & (CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) == CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) {
return EFI_INVALID_PARAMETER;
}
if (!CompareGuid (&CapsuleHeader->CapsuleGuid, &mEfiCapsuleHeaderGuid)) {
- if (!(CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) {
+ if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) == 0) {
return EFI_UNSUPPORTED;
}
}
@@ -206,11 +206,11 @@ Returns: //
for (ArrayNumber = 0; ArrayNumber < CapsuleCount; ArrayNumber++) {
CapsuleHeader = CapsuleHeaderArray[ArrayNumber];
- if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) && !(CapsuleHeader->Flags & CAPSULE_FLAGS_PERSIST_ACROSS_RESET)) {
+ if ((CapsuleHeader->Flags & (CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) == CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) {
return EFI_INVALID_PARAMETER;
}
if (!CompareGuid (&CapsuleHeader->CapsuleGuid, &mEfiCapsuleHeaderGuid)) {
- if (!(CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE)) {
+ if ((CapsuleHeader->Flags & CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE) == 0) {
return EFI_UNSUPPORTED;
}
}
|