summaryrefslogtreecommitdiffhomepage
path: root/src/codegen.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-03-09 01:28:31 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-03-09 01:28:31 +0900
commitee57789c724cb8bb86ebeda2dfd2ef585e996f68 (patch)
tree88ac5cdfa6e37967467ee13fc7b39794e4b7e6c5 /src/codegen.c
parent452bf73c2317cc4c9cf69b4dbf3ff82c3bde89c3 (diff)
parent270d25bf2db157c9d1cdcc57bccefabbb1341524 (diff)
downloadmruby-ee57789c724cb8bb86ebeda2dfd2ef585e996f68.tar.gz
mruby-ee57789c724cb8bb86ebeda2dfd2ef585e996f68.zip
Merge pull request #1831 from monaka/pr-make-type-casts-safer
Make type casts safer
Diffstat (limited to 'src/codegen.c')
-rw-r--r--src/codegen.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/codegen.c b/src/codegen.c
index 0b4d18bba..700cfdbf8 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -5,6 +5,7 @@
*/
#include <ctype.h>
+#include <limits.h>
#include <stdlib.h>
#include <string.h>
#include "mruby.h"
@@ -2582,14 +2583,16 @@ static void
codedump(mrb_state *mrb, mrb_irep *irep)
{
#ifdef ENABLE_STDIO
- uint32_t i;
+ int i;
int ai;
mrb_code c;
if (!irep) return;
printf("irep %p nregs=%d nlocals=%d pools=%d syms=%d reps=%d\n", irep,
irep->nregs, irep->nlocals, (int)irep->plen, (int)irep->slen, (int)irep->rlen);
- for (i=0; i<irep->ilen; i++) {
+
+ mrb_assert(irep->ilen <= INT_MAX);
+ for (i = 0; i < (int)(irep->ilen); i++) {
ai = mrb_gc_arena_save(mrb);
printf("%03d ", i);
c = irep->iseq[i];