]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix the potential issue that NULL pointer may be referred in LoadImage().
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 8 May 2012 03:10:37 +0000 (03:10 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 8 May 2012 03:10:37 +0000 (03:10 +0000)
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Rui Sun <rui.sun@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13293 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/Dxe/Image/Image.c

index e51a9fe1743b8391e2d7bbf5c0341f84ffec7e4a..9a143284e7854772bb4958edb32e8c40b5ea7127 100644 (file)
@@ -1353,6 +1353,7 @@ CoreLoadImage (
 {\r
   EFI_STATUS    Status;\r
   UINT64        Tick;\r
+  EFI_HANDLE    Handle;\r
 \r
   Tick = 0;\r
   PERF_CODE (\r
@@ -1372,8 +1373,16 @@ CoreLoadImage (
              EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION | EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION\r
              );\r
 \r
-  PERF_START (*ImageHandle, "LoadImage:", NULL, Tick);\r
-  PERF_END (*ImageHandle, "LoadImage:", NULL, 0);\r
+  Handle = NULL; \r
+  if (!EFI_ERROR (Status)) {\r
+    //\r
+    // ImageHandle will be valid only Status is success. \r
+    //\r
+    Handle = *ImageHandle;\r
+  }\r
+\r
+  PERF_START (Handle, "LoadImage:", NULL, Tick);\r
+  PERF_END (Handle, "LoadImage:", NULL, 0);\r
 \r
   return Status;\r
 }\r