diff options
author | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-03-10 08:40:29 +0000 |
---|---|---|
committer | lgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-03-10 08:40:29 +0000 |
commit | f0480ecf804ff9e0e5c12d21ba563f73212028e8 (patch) | |
tree | b15d7558b3615eece957d157ac871c9935c86c04 /MdeModulePkg | |
parent | 4941d8817da63dc42d8d2dfcedf35ecc56e07b1f (diff) | |
download | edk2-platforms-f0480ecf804ff9e0e5c12d21ba563f73212028e8.tar.xz |
Fix K8 check error.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7849 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-rw-r--r-- | MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c | 18 | ||||
-rw-r--r-- | MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 4 |
2 files changed, 8 insertions, 14 deletions
diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c index d31eaaa66a..53352881c4 100644 --- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c +++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c @@ -451,7 +451,9 @@ FtwWrite ( Record->Offset = Offset;
Record->Length = Length;
Record->FvBaseAddress = FvbPhysicalAddress;
- CopyMem ((Record + 1), PrivateData, Header->PrivateDataSize);
+ if (PrivateData != NULL) {
+ CopyMem ((Record + 1), PrivateData, Header->PrivateDataSize);
+ }
MyOffset = (UINT8 *) Record - FtwDevice->FtwWorkSpace;
MyLength = RECORD_SIZE (Header->PrivateDataSize);
@@ -828,22 +830,14 @@ FtwGetLastWrite ( // If this record SpareComplete has not set, then it can not restart.
//
if (Record->SpareComplete != FTW_VALID_STATE) {
- if (IsFirstRecordOfWrites (Header, Record)) {
- //
- // The First record cannot be restart and target is still healthy,
- // so abort() is a safe solution.
- //
+ Status = GetPreviousRecordOfWrites (Header, &Record);
+ if (EFI_ERROR (Status)) {
FtwAbort (This);
-
*Complete = TRUE;
return EFI_NOT_FOUND;
- } else {
- //
- // Step back to the previous record
- //
- GetPreviousRecordOfWrites (Header, &Record);
}
}
+
//
// Fill all the requested values
//
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c index f89d6ed1c9..98da3b8b79 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c @@ -2051,7 +2051,7 @@ FvbNotificationEvent ( //
// Get the FVB to access variable store
//
- for (Index = 0; Index < HandleCount; Index += 1, Status = EFI_NOT_FOUND) {
+ for (Index = 0; Index < HandleCount; Index += 1, Status = EFI_NOT_FOUND, Fvb = NULL) {
Status = gBS->HandleProtocol (
HandleBuffer[Index],
&gEfiFirmwareVolumeBlockProtocolGuid,
@@ -2086,7 +2086,7 @@ FvbNotificationEvent ( }
FreePool (HandleBuffer);
- if (!EFI_ERROR (Status)) {
+ if (!EFI_ERROR (Status) && Fvb != NULL) {
Status = VariableCommonInitialize (Fvb);
ASSERT_EFI_ERROR (Status);
|