Increased the image buffer size to avoid invalid address access issue

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2200 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jwang36 2007-01-09 13:37:54 +00:00
parent b244c7dc74
commit 18a964cf70
1 changed files with 4 additions and 5 deletions

View File

@ -749,15 +749,14 @@ Returns:
// Allocate a buffer for the image to be loaded into.
//
Pe32ImageSize = GetLength (CurrentPe32Section.Pe32Section->CommonHeader.Size) - sizeof (EFI_PE32_SECTION);
MemoryImagePointer = (UINTN) (malloc (Pe32ImageSize + 0x10000));
MemoryImagePointer = (UINTN) (malloc (Pe32ImageSize + 0x100000));
if (MemoryImagePointer == 0) {
Error (NULL, 0, 0, "memory allocation failure", NULL);
return EFI_OUT_OF_RESOURCES;
}
memset ((void *) MemoryImagePointer, 0, Pe32ImageSize + 0x10000);
memset ((void *) MemoryImagePointer, 0, Pe32ImageSize + 0x100000);
MemoryImagePointerAligned = (MemoryImagePointer + 0x0FFFF) & (-1 << 16);
ImageContext.ImageAddress = MemoryImagePointerAligned;
Status = PeCoffLoaderLoadImage (&ImageContext);
@ -1078,13 +1077,13 @@ Returns:
//
// Allocate a buffer for the image to be loaded into.
//
MemoryImagePointer = (UINTN) (malloc (Pe32ImageSize + 0x10000));
MemoryImagePointer = (UINTN) (malloc (Pe32ImageSize + 0x100000));
if (MemoryImagePointer == 0) {
Error (NULL, 0, 0, "memory allocation error on rebase of TE image", FileGuidString);
free (TEBuffer);
return EFI_OUT_OF_RESOURCES;
}
memset ((void *) MemoryImagePointer, 0, Pe32ImageSize + 0x10000);
memset ((void *) MemoryImagePointer, 0, Pe32ImageSize + 0x100000);
MemoryImagePointerAligned = (MemoryImagePointer + 0x0FFFF) & (-1 << 16);