Otherwise we skip the munmap() later. This leaks resources.

Signed-off-by: Ulf Hermann <ulf.herm...@qt.io>
---
 libelf/ChangeLog    | 4 ++++
 libelf/elf_update.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index fa768f8..225c7c8 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,5 +1,9 @@
 2017-04-20  Ulf Hermann  <ulf.herm...@qt.io>
 
+       * elf_update.c: Set ELF_F_MMAPPED flag if we mmap from elf_update.
+
+2017-04-20  Ulf Hermann  <ulf.herm...@qt.io>
+
        * libelfP.h: Don't include config.h.
 
 2017-04-20  Ulf Hermann  <ulf.herm...@qt.io>
diff --git a/libelf/elf_update.c b/libelf/elf_update.c
index c635eb3..8ce0782 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)
-- 
2.1.4

Reply via email to