diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-13 00:40:52 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-13 00:40:52 +0000 |
commit | 7f6691ae77546b42a4b182ca5ddbf5e2312c6a7b (patch) | |
tree | 7f1b465783cd3a61738aecc85c56e9fee834b106 /cont.c | |
parent | 803dcea481ea20fc7dfc690e73ccb23646a5c4ab (diff) |
suppress integer overflow warnings
* random.c: annotate rb_hash_start with NO_SANITIZE (seed.key.hash + h
overflows and that seems intentional)
* bignum.c: avoid (size_t)--
* cont.c: ditto
* util.c: ditto
* vm_insnhelper.c: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'cont.c')
-rw-r--r-- | cont.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -1199,7 +1199,7 @@ rollback_ensure_stack(VALUE self,rb_ensure_list_t *current,rb_ensure_entry_t *ta { rb_ensure_list_t *p; rb_ensure_entry_t *entry; - size_t i; + size_t i, j; size_t cur_size; size_t target_size; size_t base_point; @@ -1237,11 +1237,11 @@ rollback_ensure_stack(VALUE self,rb_ensure_list_t *current,rb_ensure_entry_t *ta cur_size--; } /* push ensure stack */ - while (i--) { - func = (VALUE (*)(ANYARGS)) lookup_rollback_func(target[i].e_proc); - if ((VALUE)func != Qundef) { - (*func)(target[i].data2); - } + for (j = 0; j < i; j++) { + func = (VALUE (*)(ANYARGS)) lookup_rollback_func(target[i - j - 1].e_proc); + if ((VALUE)func != Qundef) { + (*func)(target[i - j - 1].data2); + } } } |