summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libelf/ChangeLog5
-rw-r--r--libelf/elf32_updatefile.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index a2e4ee90..fd908e28 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,8 @@
+2019-03-06 Mark Wielaard <mark@klomp.org>
+
+ * elf32_updatefile.c (updatemmap): Free scns before returning
+ allocation failure.
+
2019-02-24 Mark Wielaard <mark@klomp.org>
* gelf_xlate.c (__elf_xfctstof): Remove alias.
diff --git a/libelf/elf32_updatefile.c b/libelf/elf32_updatefile.c
index 2899c6fb..457d18e6 100644
--- a/libelf/elf32_updatefile.c
+++ b/libelf/elf32_updatefile.c
@@ -365,6 +365,7 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf, int change_bo, size_t shnum)
char *converted = aligned_alloc (align, size);
if (converted == NULL)
{
+ free (scns);
__libelf_seterrno (ELF_E_NOMEM);
return 1;
}