From b937534868c8d7aec3b6d645bf5fd657bbfccd42 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Wed, 29 May 2013 21:30:20 +0530 Subject: Avoid crashing in LD_DEBUG when program name is unavailable Resolves: #15465 The program name may be unavailable if the user application tampers with argc and argv[]. Some parts of the dynamic linker caters for this while others don't, so this patch consolidates the check and fallback into a single macro and updates all users. --- elf/dl-deps.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'elf/dl-deps.c') diff --git a/elf/dl-deps.c b/elf/dl-deps.c index cd1c236b2e..1c36f501bc 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -310,8 +310,7 @@ _dl_map_object_deps (struct link_map *map, _dl_debug_printf ("load auxiliary object=%s" " requested by file=%s\n", name, - l->l_name[0] - ? l->l_name : rtld_progname); + DSO_FILENAME (l->l_name)); /* We must be prepared that the addressed shared object is not available. */ @@ -337,8 +336,7 @@ _dl_map_object_deps (struct link_map *map, _dl_debug_printf ("load filtered object=%s" " requested by file=%s\n", name, - l->l_name[0] - ? l->l_name : rtld_progname); + DSO_FILENAME (l->l_name)); /* For filter objects the dependency must be available. */ bool malloced; -- cgit v1.2.1