From f88e6caca21ba2a43cb283774c35ff948b6b3ab2 Mon Sep 17 00:00:00 2001 From: Doug Rabson Date: Mon, 29 Mar 2004 18:37:37 +0000 Subject: [PATCH] If we change obj_rtld.path after initialising __progname, make sure we change __progname to point at the new storage otherwise it ends up pointing at freed memory which leads to confusing garbled error messages. --- libexec/rtld-elf/rtld.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index e47deecdee6..887fee33413 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -323,6 +323,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) strcmp(obj_main->interp, obj_rtld.path) != 0) { free(obj_rtld.path); obj_rtld.path = xstrdup(obj_main->interp); + __progname = obj_rtld.path; } digest_dynamic(obj_main, 0);