mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-31 01:24:12 +02:00
Add check for the validity of resource directory address.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8164 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
55a1bb43aa
commit
50cd68dfb5
@ -67,7 +67,7 @@ PeCoffLoaderGetPeHeader (
|
|||||||
UINT16 Magic;
|
UINT16 Magic;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Read the DOS image header to check for it's existance
|
// Read the DOS image header to check for its existence
|
||||||
//
|
//
|
||||||
Size = sizeof (EFI_IMAGE_DOS_HEADER);
|
Size = sizeof (EFI_IMAGE_DOS_HEADER);
|
||||||
Status = ImageContext->ImageRead (
|
Status = ImageContext->ImageRead (
|
||||||
@ -1169,7 +1169,7 @@ PeCoffLoaderLoadImage (
|
|||||||
|
|
||||||
if (DirectoryEntry->Size != 0) {
|
if (DirectoryEntry->Size != 0) {
|
||||||
Base = PeCoffLoaderImageAddress (ImageContext, DirectoryEntry->VirtualAddress);
|
Base = PeCoffLoaderImageAddress (ImageContext, DirectoryEntry->VirtualAddress);
|
||||||
|
if (Base != NULL) {
|
||||||
ResourceDirectory = (EFI_IMAGE_RESOURCE_DIRECTORY *) Base;
|
ResourceDirectory = (EFI_IMAGE_RESOURCE_DIRECTORY *) Base;
|
||||||
ResourceDirectoryEntry = (EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY *) (ResourceDirectory + 1);
|
ResourceDirectoryEntry = (EFI_IMAGE_RESOURCE_DIRECTORY_ENTRY *) (ResourceDirectory + 1);
|
||||||
|
|
||||||
@ -1210,11 +1210,11 @@ PeCoffLoaderLoadImage (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ResourceDirectoryEntry++;
|
ResourceDirectoryEntry++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user