Add temporary fix for PeLoader

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1113 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
klu2 2006-07-27 05:07:48 +00:00
parent 1dbcbb6158
commit 5b18234d98

View File

@ -147,17 +147,20 @@ Returns:
EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION Hdr; EFI_IMAGE_OPTIONAL_HEADER_PTR_UNION Hdr;
UINT32 NumberOfRvaAndSizes; UINT32 NumberOfRvaAndSizes;
DosHeader = (EFI_IMAGE_DOS_HEADER *)Pe32Data; Hdr.Pe32 = NULL;
if (DosHeader->e_magic == EFI_IMAGE_DOS_SIGNATURE) { if (TEImageHeader == NULL) {
// DosHeader = (EFI_IMAGE_DOS_HEADER *)Pe32Data;
// DOS image header is present, so read the PE header after the DOS image header if (DosHeader->e_magic == EFI_IMAGE_DOS_SIGNATURE) {
// //
Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN)Pe32Data + (UINTN)((DosHeader->e_lfanew) & 0x0ffff)); // DOS image header is present, so read the PE header after the DOS image header
} else { //
// Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN)Pe32Data + (UINTN)((DosHeader->e_lfanew) & 0x0ffff));
// DOS image header is not present, so PE header is at the image base } else {
// //
Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)Pe32Data; // DOS image header is not present, so PE header is at the image base
//
Hdr.Pe32 = (EFI_IMAGE_NT_HEADERS32 *)Pe32Data;
}
} }
// //