mFromFile: Initialize *me
[centaur.git] / src / libelfu / modelops / fromFile.c
index e19df7b42f18e8a35416732aff8ba100695dcd2b..3443165f473801176a0b5bee84c44f936163d032 100644 (file)
@@ -280,7 +280,7 @@ static ElfuScn* modelFromSection(Elf_Scn *scn)
 
 ElfuElf* elfu_mFromElf(Elf *e)
 {
-  ElfuElf *me;
+  ElfuElf *me = NULL;
   size_t shstrndx;
   size_t i, numPhdr, numShdr;
   ElfuScn **secArray = NULL;
@@ -340,6 +340,8 @@ ElfuElf* elfu_mFromElf(Elf *e)
 
         if (mp->phdr.p_vaddr <= mp2->phdr.p_vaddr
             && OFFS_END(mp2->phdr.p_vaddr, mp2->phdr.p_memsz) <= OFFS_END(mp->phdr.p_vaddr, mp->phdr.p_memsz)) {
+          /* Remove from the main list so only LOADs remain there */
+          CIRCLEQ_REMOVE(&me->phdrList, mp2, elem);
           CIRCLEQ_INSERT_TAIL(&mp->childPhdrList, mp2, elemChildPhdr);
         }
       }