diff options
author | norly <ny-git@enpas.org> | 2013-05-27 16:40:31 +0100 |
---|---|---|
committer | norly <ny-git@enpas.org> | 2013-05-27 16:40:31 +0100 |
commit | a4d5efde2813be325bb01deac01efa773659edc2 (patch) | |
tree | 569c358b11a2771d049365bcf4acbec84b2ea36d | |
parent | c6fc85f5f72c738c7d1764d1894a33778be6ef31 (diff) |
Only establish PHDR->Scn relationship for PT_LOAD
-rw-r--r-- | src/model/fromFile.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/model/fromFile.c b/src/model/fromFile.c index bd085f6..af54555 100644 --- a/src/model/fromFile.c +++ b/src/model/fromFile.c @@ -38,6 +38,10 @@ static ElfuPhdr* parentPhdr(ElfuElf *me, ElfuScn *ms) assert(ms); CIRCLEQ_FOREACH(mp, &me->phdrList, elem) { + if (mp->phdr.p_type != PT_LOAD) { + continue; + } + if (ms->shdr.sh_addr >= mp->phdr.p_vaddr && OFFS_END(ms->shdr.sh_addr, ms->shdr.sh_size) <= OFFS_END(mp->phdr.p_vaddr, mp->phdr.p_memsz)) { return mp; |