diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/generic/dl-osinfo.h | 4 | ||||
-rw-r--r-- | 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 <tom@codesourcery.com> + + * 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 <keescook@chromium.org> * 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 |