diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-09 15:08:41 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-09 15:08:41 +0000 |
commit | 487a25d29b33c48b37d10e3b20b5947e823596c7 (patch) | |
tree | 206cc2e5fa5d13c6b7f67b71f624d0038f7c61bb /numeric.c | |
parent | 24cf72029f0c43f59520b88d1eafee4959bcddc1 (diff) | |
download | ruby-487a25d29b33c48b37d10e3b20b5947e823596c7.tar.gz |
* numeric.c (fix_aref): avoid a possible undefined behavior.
1L << 63 on 64-bit platform is undefined, at least, according to
ISO/IEC 9899 (C99) 6.5.7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'numeric.c')
-rw-r--r-- | numeric.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -3443,7 +3443,7 @@ fix_aref(VALUE fix, VALUE idx) i = FIX2LONG(idx); if (i < 0) return INT2FIX(0); - if (SIZEOF_LONG*CHAR_BIT-1 < i) { + if (SIZEOF_LONG*CHAR_BIT-1 <= i) { if (val < 0) return INT2FIX(1); return INT2FIX(0); } |