Don't segfault if no _DYNAMIC symbol is found

Test wether _DYNAMIC is found or not before using its value.
This commit is contained in:
Thomas Preud'homme 2010-05-06 22:52:16 +02:00 committed by Thomas Preud'homme
parent 8d28686a86
commit efb3b5d42b
1 changed files with 1 additions and 0 deletions

View File

@ -413,6 +413,7 @@ static void readDynoData(Symbols syms, int pid)
Elf32_Addr addr;
const Elf32_Sym *dyn = lookupSymInTable("_DYNAMIC", syms);
if (!dyn) quit("could not find _DYNAMIC symbol");
for (errno = done = 0, addr = dyn->st_value; !done && !errno; addr += 8) {
val = ptrace(PTRACE_PEEKDATA, pid, addr, 0);
if (val == -1 && errno) break;