dbghelp: Don't double memory allocation on every add.
This commit is contained in:
parent
d9784c1a2f
commit
43a35958f6
|
@ -260,7 +260,7 @@ static BOOL add_module(struct dump_context* dc, const WCHAR* name,
|
|||
dc->modules = HeapAlloc(GetProcessHeap(), 0,
|
||||
dc->alloc_modules * sizeof(*dc->modules));
|
||||
}
|
||||
else
|
||||
else if(dc->num_modules >= dc->alloc_modules)
|
||||
{
|
||||
dc->alloc_modules *= 2;
|
||||
dc->modules = HeapReAlloc(GetProcessHeap(), 0, dc->modules,
|
||||
|
@ -394,17 +394,17 @@ static void fetch_module_versioninfo(LPCWSTR filename, VS_FIXEDFILEINFO* ffi)
|
|||
*/
|
||||
static void add_memory_block(struct dump_context* dc, ULONG64 base, ULONG size, ULONG rva)
|
||||
{
|
||||
if (dc->mem)
|
||||
if (!dc->mem)
|
||||
{
|
||||
dc->alloc_mem = 32;
|
||||
dc->mem = HeapAlloc(GetProcessHeap(), 0, dc->alloc_mem * sizeof(*dc->mem));
|
||||
}
|
||||
else if (dc->num_mem >= dc->alloc_mem)
|
||||
{
|
||||
dc->alloc_mem *= 2;
|
||||
dc->mem = HeapReAlloc(GetProcessHeap(), 0, dc->mem,
|
||||
dc->alloc_mem * sizeof(*dc->mem));
|
||||
}
|
||||
else
|
||||
{
|
||||
dc->alloc_mem = 32;
|
||||
dc->mem = HeapAlloc(GetProcessHeap(), 0, dc->alloc_mem * sizeof(*dc->mem));
|
||||
}
|
||||
if (dc->mem)
|
||||
{
|
||||
dc->mem[dc->num_mem].base = base;
|
||||
|
|
Loading…
Reference in New Issue