summaryrefslogtreecommitdiffstats
path: root/libelf
diff options
context:
space:
mode:
authorUlf Hermann <[email protected]>2017-04-12 11:54:48 +0200
committerUlf Hermann <[email protected]>2017-04-26 14:38:05 +0000
commit14558954b6e6b5ae759c8ee3e11d5f4a39ee9e23 (patch)
treed99d909a72363bdd4d17bd055813b073d4003d43 /libelf
parentb9e2d78403173c35c1d8e31ef2e249f311b5e9dd (diff)
On elf_update, remember when we mmap()
Otherwise we skip the munmap() later. This leaks resources. Change-Id: I9e04ea3f0a608e88c474379df19c41261ecd092e Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'libelf')
-rw-r--r--libelf/ChangeLog4
-rw-r--r--libelf/elf_update.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index fa768f85..225c7c85 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,5 +1,9 @@
2017-04-20 Ulf Hermann <[email protected]>
+ * elf_update.c: Set ELF_F_MMAPPED flag if we mmap from elf_update.
+
+2017-04-20 Ulf Hermann <[email protected]>
+
* libelfP.h: Don't include config.h.
2017-04-20 Ulf Hermann <[email protected]>
diff --git a/libelf/elf_update.c b/libelf/elf_update.c
index c635eb32..8ce07829 100644
--- a/libelf/elf_update.c
+++ b/libelf/elf_update.c
@@ -74,6 +74,8 @@ write_file (Elf *elf, off_t size, int change_bo, size_t shnum)
MAP_SHARED, elf->fildes, 0);
if (unlikely (elf->map_address == MAP_FAILED))
elf->map_address = NULL;
+ else
+ elf->flags |= ELF_F_MMAPPED;
}
if (elf->map_address != NULL)