dbghelp: Fix bug in managing COFF files array.

This commit is contained in:
Eric Pouech 2011-03-08 21:31:52 +01:00 committed by Alexandre Julliard
parent 9d3be00df2
commit 1d4381664c
1 changed files with 12 additions and 6 deletions

View File

@ -138,12 +138,18 @@ static void coff_add_symbol(struct CoffFile* coff_file, struct symt* sym)
{ {
if (coff_file->neps + 1 >= coff_file->neps_alloc) if (coff_file->neps + 1 >= coff_file->neps_alloc)
{ {
coff_file->neps_alloc *= 2; if (coff_file->entries)
coff_file->entries = (coff_file->entries) ? {
HeapReAlloc(GetProcessHeap(), 0, coff_file->entries, coff_file->neps_alloc *= 2;
coff_file->neps_alloc * sizeof(struct symt*)) : coff_file->entries = HeapReAlloc(GetProcessHeap(), 0, coff_file->entries,
HeapAlloc(GetProcessHeap(), 0, coff_file->neps_alloc * sizeof(struct symt*));
coff_file->neps_alloc * sizeof(struct symt*)); }
else
{
coff_file->neps_alloc = 32;
coff_file->entries = HeapAlloc(GetProcessHeap(), 0,
coff_file->neps_alloc * sizeof(struct symt*));
}
} }
coff_file->entries[coff_file->neps++] = sym; coff_file->entries[coff_file->neps++] = sym;
} }