Signed-off-by: Mark Wielaard <m...@klomp.org>
---
 src/ChangeLog | 4 ++++
 src/unstrip.c | 2 ++
 2 files changed, 6 insertions(+)

diff --git a/src/ChangeLog b/src/ChangeLog
index 9d4ce31d..71599e5d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2021-06-18  Mark Wielaard  <m...@klomp.org>
+
+       * unstrip.c (adjust_relocs): Check gelf_getrel and geld_getrela.
+
 2021-06-18  Mark Wielaard  <m...@klomp.org>
 
        * strip.c (remove_debug_relocations): Check gelf_update results.
diff --git a/src/unstrip.c b/src/unstrip.c
index e488e810..6618ec9b 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -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"));
-- 
2.18.4

Reply via email to