diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-05-01 15:42:52 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-05-01 15:42:52 +0000 |
commit | 0e19bb2e32a13633ad8a316664c713c978026a74 (patch) | |
tree | d59adf65c4c0781eaf93ff569437d98fa69a1c6e | |
parent | 157f5b50f3cd3db01e3f4ea86679c37cbb02e932 (diff) | |
download | ruby-0e19bb2e32a13633ad8a316664c713c978026a74.tar.gz |
Add a cast to avoid signed integer overflow.
* vm_trace.c (recalc_remove_ruby_vm_event_flags): Add a cast to
avoid signed integer overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | vm_trace.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Mon May 2 00:41:53 2016 Tanaka Akira <akr@fsij.org> + + * vm_trace.c (recalc_remove_ruby_vm_event_flags): Add a cast to + avoid signed integer overflow. + Mon May 2 00:06:04 2016 Tanaka Akira <akr@fsij.org> * test/lib/envutil.rb: Define Integer::{FIXNUM_MIN,FIXNUM_MAX}. diff --git a/vm_trace.c b/vm_trace.c index 673739eb20..a84821e2b0 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -81,7 +81,7 @@ recalc_remove_ruby_vm_event_flags(rb_event_flag_t events) ruby_vm_event_flags = 0; for (i=0; i<MAX_EVENT_NUM; i++) { - if (events & (1 << i)) { + if (events & ((rb_event_flag_t)1 << i)) { ruby_event_flag_count[i]--; } ruby_vm_event_flags |= ruby_event_flag_count[i] ? (1<<i) : 0; |