Commit 63c7ea64 authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

dbghelp: Use virtual size (not raw/file size) when getting the size of a PE section.

parent 1ed39c29
...@@ -79,6 +79,14 @@ const char* pe_map_section(struct image_section_map* ism) ...@@ -79,6 +79,14 @@ const char* pe_map_section(struct image_section_map* ism)
fmap->sect[ism->sidx].mapped == IMAGE_NO_MAP) fmap->sect[ism->sidx].mapped == IMAGE_NO_MAP)
{ {
IMAGE_NT_HEADERS* nth; IMAGE_NT_HEADERS* nth;
if (fmap->sect[ism->sidx].shdr.Misc.VirtualSize > fmap->sect[ism->sidx].shdr.SizeOfRawData)
{
FIXME("Section %ld: virtual (0x%x) > raw (0x%x) size - not supported\n",
ism->sidx, fmap->sect[ism->sidx].shdr.Misc.VirtualSize,
fmap->sect[ism->sidx].shdr.SizeOfRawData);
return IMAGE_NO_MAP;
}
/* FIXME: that's rather drastic, but that will do for now /* FIXME: that's rather drastic, but that will do for now
* that's ok if the full file map exists, but we could be less agressive otherwise and * that's ok if the full file map exists, but we could be less agressive otherwise and
* only map the relevant section * only map the relevant section
...@@ -162,13 +170,13 @@ DWORD_PTR pe_get_map_rva(const struct image_section_map* ism) ...@@ -162,13 +170,13 @@ DWORD_PTR pe_get_map_rva(const struct image_section_map* ism)
/****************************************************************** /******************************************************************
* pe_get_map_size * pe_get_map_size
* *
* Get the size of an PE section * Get the size of a PE section
*/ */
unsigned pe_get_map_size(const struct image_section_map* ism) unsigned pe_get_map_size(const struct image_section_map* ism)
{ {
if (ism->sidx < 0 || ism->sidx >= ism->fmap->u.pe.ntheader.FileHeader.NumberOfSections) if (ism->sidx < 0 || ism->sidx >= ism->fmap->u.pe.ntheader.FileHeader.NumberOfSections)
return 0; return 0;
return ism->fmap->u.pe.sect[ism->sidx].shdr.SizeOfRawData; return ism->fmap->u.pe.sect[ism->sidx].shdr.Misc.VirtualSize;
} }
/****************************************************************** /******************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment