Displaying 2 results from an estimated 2 matches for "numberofnamedentries".
2001 Dec 08
1
LoadOEMResource crash [Was: Re: Problem report: SHRINKER.ERR, fix to DEVICE_Open/CreateFileA? ]
...d_entry_by_id( const
IMAGE_RESOURCE_DIRECTORY *dir,
WORD id, const
void *root )
{
const IMAGE_RESOURCE_DIRECTORY_ENTRY *entry;
int min, max, pos;
entry = (const IMAGE_RESOURCE_DIRECTORY_ENTRY *)(dir + 1);
min = dir->NumberOfNamedEntries;
max = min + dir->NumberOfIdEntries - 1;
while (min <= max)
{
pos = (min + max) / 2;
if (entry[pos].u1.s2.Id == id)
return (IMAGE_RESOURCE_DIRECTORY *)((char *)root +
entry[pos].u2.s3.OffsetToDirectory);
if (entry[pos].u1.s2.Id > id)...
2001 Dec 08
1
LoadOEMResource crash [Was: Re: Problem report: SHRINKER.ERR, fix to DEVICE_Open/CreateFileA? ]
...0, oldmask = 0, cr2 =
4583436}) at signal_i386.c:882
882 get_cr2_value(HANDLER_CONTEXT),
get_error_code(HANDLER_CONTEXT) );
(gdb) up
#3 <signal handler called>
(gdb) up
#4 find_entry_by_id (dir=0x45f000, id=14, root=0x45f000) at
pe_resource.c:83
83 min = dir->NumberOfNamedEntries;
(gdb)
That's what I thought in the first place. I'll try to print out dir:
(gdb) p dir
$14 = (IMAGE_RESOURCE_DIRECTORY *) 0xc0000005
Huh? The stack trace says the argument is 0x45f000, not 0xc0000005.
So I'll re-run the program, but this time I'll add a breakpoint at
pe_reso...