summaryrefslogtreecommitdiff
path: root/src/libelfu/model/phdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libelfu/model/phdr.c')
-rw-r--r--src/libelfu/model/phdr.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libelfu/model/phdr.c b/src/libelfu/model/phdr.c
index ce395ec..6896845 100644
--- a/src/libelfu/model/phdr.c
+++ b/src/libelfu/model/phdr.c
@@ -60,3 +60,22 @@ ElfuPhdr* elfu_mPhdrAlloc()
return mp;
}
+
+void elfu_mPhdrDestroy(ElfuPhdr* mp)
+{
+ ElfuPhdr *mp2;
+ ElfuScn *ms;
+
+ assert(mp);
+
+ CIRCLEQ_FOREACH(mp2, &mp->childPhdrList, elem) {
+ // TODO ?
+ }
+
+ CIRCLEQ_FOREACH(ms, &mp->childScnList, elem) {
+ CIRCLEQ_REMOVE(&mp->childScnList, ms, elem);
+ elfu_mScnDestroy(ms);
+ }
+
+ free(mp);
+}