aboutsummaryrefslogtreecommitdiff
path: root/libexec/rtld-elf
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2012-04-05 18:47:54 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2012-04-05 18:47:54 +0000
commit3f4e35f7521ca72a5fbecae0082be75e5ab4636b (patch)
treecd61f7221daefa15c165758d583b6853f5f02ed0 /libexec/rtld-elf
parent35818d2e94892c19f667f9be44319c542f6b34d6 (diff)
Notes
Diffstat (limited to 'libexec/rtld-elf')
-rw-r--r--libexec/rtld-elf/rtld.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index 5f87dd429063..f02d276ee687 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);