Correctly skip debug entry.
authorlgao4 <lgao4@de2fecce-e211-0410-80a6-f3fac2684e05>
Fri, 12 Jan 2007 04:54:20 +0000 (04:54 +0000)
committerlgao4 <lgao4@de2fecce-e211-0410-80a6-f3fac2684e05>
Fri, 12 Jan 2007 04:54:20 +0000 (04:54 +0000)
git-svn-id: https://edk2.tianocore.org/svn/edk2/trunk@2232 de2fecce-e211-0410-80a6-f3fac2684e05

edk2/MdePkg/Library/BasePeCoffLib/BasePeCoff.c

index 0ddbc7a..ad9c627 100644 (file)
@@ -391,7 +391,7 @@ PeCoffLoaderGetImageInfo (
       }\r
 \r
       if (DebugDirectoryEntryFileOffset != 0) {\r
-        for (Index = 0; Index < DebugDirectoryEntry->Size; Index++) {\r
+        for (Index = 0; Index < DebugDirectoryEntry->Size; Index += Size) {\r
           //\r
           // Read next debug directory entry\r
           //\r
@@ -406,9 +406,8 @@ PeCoffLoaderGetImageInfo (
             ImageContext->ImageError = IMAGE_ERROR_IMAGE_READ;\r
             return Status;\r
           }\r
-\r
           if (DebugEntry.Type == EFI_IMAGE_DEBUG_TYPE_CODEVIEW) {\r
-            ImageContext->DebugDirectoryEntryRva = (UINT32) (DebugDirectoryEntryRva + Index * sizeof (EFI_IMAGE_DEBUG_DIRECTORY_ENTRY));\r
+            ImageContext->DebugDirectoryEntryRva = (UINT32) (DebugDirectoryEntryRva + Index);\r
             if (DebugEntry.RVA == 0 && DebugEntry.FileOffset != 0) {\r
               ImageContext->ImageSize += DebugEntry.SizeOfData;\r
             }\r
@@ -480,7 +479,7 @@ PeCoffLoaderGetImageInfo (
     }\r
 \r
     if (DebugDirectoryEntryFileOffset != 0) {\r
-      for (Index = 0; Index < DebugDirectoryEntry->Size; Index++) {\r
+      for (Index = 0; Index < DebugDirectoryEntry->Size; Index += Size) {\r
         //\r
         // Read next debug directory entry\r
         //\r
@@ -497,7 +496,7 @@ PeCoffLoaderGetImageInfo (
         }\r
 \r
         if (DebugEntry.Type == EFI_IMAGE_DEBUG_TYPE_CODEVIEW) {\r
-          ImageContext->DebugDirectoryEntryRva = (UINT32) (DebugDirectoryEntryRva + Index * sizeof (EFI_IMAGE_DEBUG_DIRECTORY_ENTRY));\r
+          ImageContext->DebugDirectoryEntryRva = (UINT32) (DebugDirectoryEntryRva + Index);\r
           return RETURN_SUCCESS;\r
         }\r
       }\r