X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBasePeCoffLib%2FBasePeCoff.c;h=6d36b6dff050d0c2004eb3b69f031f183c896f8d;hp=1e8f573009540d01686a302ec029c560e81ab357;hb=236877a6a7a89512ee67d8bc168dd4c16b85e8db;hpb=747e1504f1fd1be7960fd7b39edfed2e838ae0d6 diff --git a/MdePkg/Library/BasePeCoffLib/BasePeCoff.c b/MdePkg/Library/BasePeCoffLib/BasePeCoff.c index 1e8f573009..6d36b6dff0 100644 --- a/MdePkg/Library/BasePeCoffLib/BasePeCoff.c +++ b/MdePkg/Library/BasePeCoffLib/BasePeCoff.c @@ -488,6 +488,15 @@ PeCoffLoaderImageAddress ( IN UINTN Address ) { + // + // @bug Check to make sure ImageSize is correct for the relocated image. + // it may only work for the file we start with and not the relocated image + // + if (Address >= ImageContext->ImageSize) { + ImageContext->ImageError = IMAGE_ERROR_INVALID_IMAGE_ADDRESS; + return NULL; + } + return (CHAR8 *)((UINTN) ImageContext->ImageAddress + Address); }