summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornorly <ny-git@enpas.org>2013-05-27 16:40:31 +0100
committernorly <ny-git@enpas.org>2013-05-27 16:40:31 +0100
commita4d5efde2813be325bb01deac01efa773659edc2 (patch)
tree569c358b11a2771d049365bcf4acbec84b2ea36d
parentc6fc85f5f72c738c7d1764d1894a33778be6ef31 (diff)
Only establish PHDR->Scn relationship for PT_LOAD
-rw-r--r--src/model/fromFile.c4
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;