From 6c6a98c983c44b440ae66d2aa8f32529a9dd7bfe Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 5 Mar 2012 11:05:42 +0100 Subject: [PATCH] 2012-03-05 Tom de Vries * sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): Ensure default stack guard is set in last bytes. * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): Same. --- ChangeLog | 6 ++++++ sysdeps/generic/dl-osinfo.h | 4 ++-- sysdeps/unix/sysv/linux/dl-osinfo.h | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5429f3b127..7c45b79370 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-03-05 Tom de Vries + + * sysdeps/generic/dl-osinfo.h (_dl_setup_stack_chk_guard): Ensure + default stack guard is set in last bytes. + * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard): Same. + 2012-03-05 Kees Cook * stdio-common/vfprintf.c (vfprintf): add missing errno settings. diff --git a/sysdeps/generic/dl-osinfo.h b/sysdeps/generic/dl-osinfo.h index 2eaab3b760..548fc4666a 100644 --- a/sysdeps/generic/dl-osinfo.h +++ b/sysdeps/generic/dl-osinfo.h @@ -30,8 +30,8 @@ _dl_setup_stack_chk_guard (void *dl_random) if (dl_random == NULL) { - ret.bytes[sizeof (ret) - 2] = 255; - ret.bytes[sizeof (ret) - 3] = '\n'; + ret.bytes[sizeof (ret) - 1] = 255; + ret.bytes[sizeof (ret) - 2] = '\n'; } else { diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h index 874660be13..780b20ab6a 100644 --- a/sysdeps/unix/sysv/linux/dl-osinfo.h +++ b/sysdeps/unix/sysv/linux/dl-osinfo.h @@ -84,8 +84,8 @@ _dl_setup_stack_chk_guard (void *dl_random) return ret.num; } # endif - ret.bytes[filllen - 2] = 255; - ret.bytes[filllen - 3] = '\n'; + ret.bytes[filllen] = 255; + ret.bytes[filllen - 1] = '\n'; } else #endif