mirror of https://github.com/acidanthera/audk.git
Update the logic related to get section header offset for TE image.
Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13273 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
5817449f2d
commit
00b7e3e3a2
|
@ -71,6 +71,7 @@ PeCoffLoaderGetPeHeader (
|
|||
UINT32 SectionHeaderOffset;
|
||||
UINT32 Index;
|
||||
CHAR8 BufferData;
|
||||
UINTN NumberOfSections;
|
||||
EFI_IMAGE_SECTION_HEADER SectionHeader;
|
||||
|
||||
//
|
||||
|
@ -303,8 +304,15 @@ PeCoffLoaderGetPeHeader (
|
|||
//
|
||||
// Check each section field.
|
||||
//
|
||||
SectionHeaderOffset = ImageContext->PeCoffHeaderOffset + sizeof (UINT32) + sizeof (EFI_IMAGE_FILE_HEADER) + Hdr.Pe32->FileHeader.SizeOfOptionalHeader;
|
||||
for (Index = 0; Index < Hdr.Pe32->FileHeader.NumberOfSections; Index++) {
|
||||
if (ImageContext->IsTeImage) {
|
||||
SectionHeaderOffset = sizeof(EFI_TE_IMAGE_HEADER);
|
||||
NumberOfSections = (UINTN) (Hdr.Te->NumberOfSections);
|
||||
} else {
|
||||
SectionHeaderOffset = ImageContext->PeCoffHeaderOffset + sizeof (UINT32) + sizeof (EFI_IMAGE_FILE_HEADER) + Hdr.Pe32->FileHeader.SizeOfOptionalHeader;
|
||||
NumberOfSections = (UINTN) (Hdr.Pe32->FileHeader.NumberOfSections);
|
||||
}
|
||||
|
||||
for (Index = 0; Index < NumberOfSections; Index++) {
|
||||
//
|
||||
// Read section header from file
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue