bugfix: crash when loading elf

This commit is contained in:
laqieer 2019-02-05 20:42:27 +08:00
parent eb6dfb4bfa
commit 7b350c09b9
1 changed files with 6 additions and 6 deletions

View File

@ -2604,12 +2604,6 @@ bool elfReadProgram(ELFHeader* eh, uint8_t* data, unsigned long data_size, int&
sh = (ELFSectionHeader**)
malloc(sizeof(ELFSectionHeader*) * count);
stringTable = (char*)elfReadSection(data, sh[READ16LE(&eh->e_shstrndx)]);
elfSectionHeaders = sh;
elfSectionHeadersStringTable = stringTable;
elfSectionHeadersCount = count;
for (i = 0; i < count; i++) {
sh[i] = (ELFSectionHeader*)p;
p += sizeof(ELFSectionHeader);
@ -2617,6 +2611,12 @@ bool elfReadProgram(ELFHeader* eh, uint8_t* data, unsigned long data_size, int&
p += READ16LE(&eh->e_shentsize) - sizeof(ELFSectionHeader);
}
stringTable = (char*)elfReadSection(data, sh[READ16LE(&eh->e_shstrndx)]);
elfSectionHeaders = sh;
elfSectionHeadersStringTable = stringTable;
elfSectionHeadersCount = count;
for (i = 0; i < count; i++) {
// printf("SH %d %-20s %08x %08x %08x %08x %08x %08x %08x %08x\n",
// i, &stringTable[sh[i]->name], sh[i]->name, sh[i]->type,