From f391af5039d9baae4704602a3d7d1810e2df8d4c Mon Sep 17 00:00:00 2001 From: kib Date: Thu, 5 Apr 2012 18:47:54 +0000 Subject: Properly handle absent AT_CANARY aux entry. Submitted by: Andrey Zonov MFC after: 3 days --- libexec/rtld-elf/rtld.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libexec/rtld-elf/rtld.c') diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 5f87dd4..f02d276 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -351,7 +351,8 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) main_argc = argc; main_argv = argv; - if (aux_info[AT_CANARY]->a_un.a_ptr != NULL) { + if (aux_info[AT_CANARY] != NULL && + aux_info[AT_CANARY]->a_un.a_ptr != NULL) { i = aux_info[AT_CANARYLEN]->a_un.a_val; if (i > sizeof(__stack_chk_guard)) i = sizeof(__stack_chk_guard); -- cgit v1.1