]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BasePeCoffLib/BasePeCoff.c
Added back safety check for PE/COFF image walking. I think the safety check is broken...
[mirror_edk2.git] / MdePkg / Library / BasePeCoffLib / BasePeCoff.c
index 1e8f573009540d01686a302ec029c560e81ab357..6d36b6dff050d0c2004eb3b69f031f183c896f8d 100644 (file)
@@ -488,6 +488,15 @@ PeCoffLoaderImageAddress (
   IN     UINTN                                 Address\r
   )\r
 {\r
+  //\r
+  // @bug Check to make sure ImageSize is correct for the relocated image. \r
+  //      it may only work for the file we start with and not the relocated image\r
+  //\r
+  if (Address >= ImageContext->ImageSize) {\r
+    ImageContext->ImageError = IMAGE_ERROR_INVALID_IMAGE_ADDRESS;\r
+    return NULL;\r
+  }\r
+\r
   return (CHAR8 *)((UINTN) ImageContext->ImageAddress + Address);\r
 }\r
 \r