]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
libelf: Fix possible resource leak in elf[32|64]_updatefile.
authorMark Wielaard <mark@klomp.org>
Wed, 6 Mar 2019 18:56:54 +0000 (19:56 +0100)
committerMark Wielaard <mark@klomp.org>
Wed, 6 Mar 2019 18:56:54 +0000 (19:56 +0100)
When we cannot allocate enough memory to convert the data in
updatemmap we should free the scns before returning an error.

Signed-off-by: Mark Wielaard <mark@klomp.org>
libelf/ChangeLog
libelf/elf32_updatefile.c

index a2e4ee90030121cda7eb1ca0abed3c969848ba9d..fd908e280c678c473fd80729497e7c9b1e873bb4 100644 (file)
@@ -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.
index 2899c6fbe73c1b1f1a95ac4454c137e50827def0..457d18e6a9f4b0ae7a6cbe36042fcb4e699cc4e6 100644 (file)
@@ -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;
                              }