summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Seiderer <ps.report@gmx.net>2025-02-20 13:18:16 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2025-02-22 08:57:52 +0100
commit73365a3656410c0729bba5e58358dcc3a1035418 (patch)
tree82b7285259eb83071c1c88a99441dbe5174d2a54
parentf459ac62a904dd6e1cb909b3224df18e9acadbfb (diff)
m68k: fix SUPPORT_LD_DEBUG null pointer accessHEADmaster
Fix null pointer access in case SUPPORT_LD_DEBUG configuration option is enabled (hit in _dl_do_reloc, but fix same old_val/reloc_addr usage pattern in _dl_do_lazy_reloc too). Reported-by: Jean-Michel Hautbois <jeanmichel.hautbois@yoseli.org> Link: https://mailman.openadk.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/thread/ODLJ53XJU5ZG3OLHVJMVWSNBYIFHFBAT/ Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@yoseli.org> Tested-by: Jean-Michel Hautbois <jeanmichel.hautbois@yoseli.org> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
-rw-r--r--ldso/ldso/m68k/elfinterp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ldso/ldso/m68k/elfinterp.c b/ldso/ldso/m68k/elfinterp.c
index 25ea23067..e7fa117da 100644
--- a/ldso/ldso/m68k/elfinterp.c
+++ b/ldso/ldso/m68k/elfinterp.c
@@ -193,7 +193,7 @@ _dl_do_reloc(struct elf_resolve *tpnt, struct r_scope_elem *scope,
#endif
#if defined (__SUPPORT_LD_DEBUG__)
- old_val = *reloc_addr;
+ old_val = reloc_addr ? *reloc_addr : 0;
#endif
switch (reloc_type) {
@@ -292,7 +292,7 @@ _dl_do_lazy_reloc(struct elf_resolve *tpnt, struct r_scope_elem *scope,
reloc_type = ELF_R_TYPE(rpnt->r_info);
#if defined (__SUPPORT_LD_DEBUG__)
- old_val = *reloc_addr;
+ old_val = reloc_addr ? *reloc_addr : 0;
#endif
switch (reloc_type) {