]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
unstrip: Always check gelf_getrel[a] results
authorMark Wielaard <mark@klomp.org>
Fri, 18 Jun 2021 13:08:48 +0000 (15:08 +0200)
committerMark Wielaard <mark@klomp.org>
Fri, 2 Jul 2021 22:25:29 +0000 (00:25 +0200)
Signed-off-by: Mark Wielaard <mark@klomp.org>
src/ChangeLog
src/unstrip.c

index 9d4ce31d2547b1630109db28fa5fb02a8cb1aa30..71599e5d73fa5ff079dd152b8806783e1c6ea83c 100644 (file)
@@ -1,3 +1,7 @@
+2021-06-18  Mark Wielaard  <mark@klomp.org>
+
+       * unstrip.c (adjust_relocs): Check gelf_getrel and geld_getrela.
+
 2021-06-18  Mark Wielaard  <mark@klomp.org>
 
        * strip.c (remove_debug_relocations): Check gelf_update results.
index e488e810722ed9ba384f905299fefa5dc7801ee6..6618ec9bf4715c4c44ca043582b098a75b3cc04d 100644 (file)
@@ -462,6 +462,7 @@ adjust_relocs (Elf_Scn *outscn, Elf_Scn *inscn, const GElf_Shdr *shdr,
        {
          GElf_Rel rel_mem;
          GElf_Rel *rel = gelf_getrel (data, i, &rel_mem);
+         ELF_CHECK (rel != NULL, _("gelf_getrel failed: %s"));
          adjust_reloc (&rel->r_info, map, map_size);
          ELF_CHECK (gelf_update_rel (data, i, rel),
                     _("cannot update relocation: %s"));
@@ -476,6 +477,7 @@ adjust_relocs (Elf_Scn *outscn, Elf_Scn *inscn, const GElf_Shdr *shdr,
        {
          GElf_Rela rela_mem;
          GElf_Rela *rela = gelf_getrela (data, i, &rela_mem);
+         ELF_CHECK (rela != NULL, _("gelf_getrela failed: %s"));
          adjust_reloc (&rela->r_info, map, map_size);
          ELF_CHECK (gelf_update_rela (data, i, rela),
                     _("cannot update relocation: %s"));