diff options
-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; |