From 487a25d29b33c48b37d10e3b20b5947e823596c7 Mon Sep 17 00:00:00 2001 From: mame Date: Wed, 9 Oct 2013 15:08:41 +0000 Subject: * 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 --- numeric.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index 6979b21b65..83ed3e469d 100644 --- a/numeric.c +++ b/numeric.c @@ -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); } -- cgit v1.2.3