From 73365a3656410c0729bba5e58358dcc3a1035418 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Thu, 20 Feb 2025 13:18:16 +0100 Subject: m68k: fix SUPPORT_LD_DEBUG null pointer access 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 Link: https://mailman.openadk.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/thread/ODLJ53XJU5ZG3OLHVJMVWSNBYIFHFBAT/ Reviewed-by: Jean-Michel Hautbois Tested-by: Jean-Michel Hautbois Signed-off-by: Peter Seiderer --- ldso/ldso/m68k/elfinterp.c | 4 ++-- 1 file 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) { -- cgit v1.2.3