git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9809
6f19259b-4bc3-4df7-8a09-
765794883524
EFI_PEI_FV_HANDLE ParentFvHandle;\r
EFI_FIRMWARE_VOLUME_HEADER *FvHeader;\r
EFI_FV_FILE_INFO FileInfo;\r
EFI_PEI_FV_HANDLE ParentFvHandle;\r
EFI_FIRMWARE_VOLUME_HEADER *FvHeader;\r
EFI_FV_FILE_INFO FileInfo;\r
\r
//\r
// Check if this EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE file has already\r
\r
//\r
// Check if this EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE file has already\r
//\r
// FvAlignment must be more than 8 bytes required by FvHeader structure.\r
//\r
//\r
// FvAlignment must be more than 8 bytes required by FvHeader structure.\r
//\r
- FvAlignment = 1 << ((FvHeader->Attributes & EFI_FVB2_ALIGNMENT) >> 16);\r
+ FvAlignment = 1 << ((ReadUnaligned32 (&FvHeader->Attributes) & EFI_FVB2_ALIGNMENT) >> 16);\r
if (FvAlignment < 8) {\r
FvAlignment = 8;\r
}\r
if (FvAlignment < 8) {\r
FvAlignment = 8;\r
}\r
// Check FvImage\r
//\r
if ((UINTN) FvHeader % FvAlignment != 0) {\r
// Check FvImage\r
//\r
if ((UINTN) FvHeader % FvAlignment != 0) {\r
- NewFvBuffer = AllocateAlignedPages (EFI_SIZE_TO_PAGES ((UINT32) FvHeader->FvLength), FvAlignment);\r
+ FvLength = ReadUnaligned64 (&FvHeader->FvLength);\r
+ NewFvBuffer = AllocateAlignedPages (EFI_SIZE_TO_PAGES ((UINT32) FvLength), FvAlignment);\r
if (NewFvBuffer == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
if (NewFvBuffer == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- CopyMem (NewFvBuffer, FvHeader, (UINTN) FvHeader->FvLength);\r
+ CopyMem (NewFvBuffer, FvHeader, (UINTN) FvLength);\r
FvHeader = (EFI_FIRMWARE_VOLUME_HEADER*) NewFvBuffer;\r
}\r
\r
FvHeader = (EFI_FIRMWARE_VOLUME_HEADER*) NewFvBuffer;\r
}\r
\r