summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-03-11 19:41:43 -0700
committerDavid S. Miller <davem@davemloft.net>2012-03-11 19:41:43 -0700
commitcb9d617437084b4ebf02e50c0a82c5dd2582029a (patch)
treecd3906a515d6af0330aadf8b8327f77f61d56c35
parent6e226b094f4d9fb00797f93d89773dc12811fd0f (diff)
downloadglibc-cb9d617437084b4ebf02e50c0a82c5dd2582029a.tar.gz
glibc-cb9d617437084b4ebf02e50c0a82c5dd2582029a.tar.xz
glibc-cb9d617437084b4ebf02e50c0a82c5dd2582029a.zip
Fix typing of the bit twiddling done in _dl_setup_stack_chk_guard.
	* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard):
	Fix masking out of the most significant byte of random value used.
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/unix/sysv/linux/dl-osinfo.h4
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 85993dce6b..29b7c67e9e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2012-03-11  David S. Miller  <davem@davemloft.net>
 
+	* sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard):
+	Fix masking out of the most significant byte of random value used.
+
 	* sysdeps/sparc/fpu/libm-test-ulps: Update.
 
 2012-03-10  Andreas Schwab  <schwab@linux-m68k.org>
diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h
index 780b20ab6a..1ff8a2f6a2 100644
--- a/sysdeps/unix/sysv/linux/dl-osinfo.h
+++ b/sysdeps/unix/sysv/linux/dl-osinfo.h
@@ -95,9 +95,9 @@ _dl_setup_stack_chk_guard (void *dl_random)
 	 directly and not use the kernel-provided data to seed a PRNG.  */
       memcpy (ret.bytes, dl_random, sizeof (ret));
 #if BYTE_ORDER == LITTLE_ENDIAN
-      ret.num &= ~0xff;
+      ret.num &= ~(uintptr_t)0xff;
 #elif BYTE_ORDER == BIG_ENDIAN
-      ret.num &= ~(0xff << (8 * (sizeof (ret) - 1)));
+      ret.num &= ~((uintptr_t)0xff << (8 * (sizeof (ret) - 1)));
 #else
 # error "BYTE_ORDER unknown"
 #endif