summaryrefslogtreecommitdiffhomepage
path: root/src/codegen.c
diff options
context:
space:
mode:
authorMasaki Muranaka <[email protected]>2014-03-08 13:54:02 +0900
committerMasaki Muranaka <[email protected]>2014-03-08 15:53:59 +0900
commit270d25bf2db157c9d1cdcc57bccefabbb1341524 (patch)
tree22319de5b6970a0378f0b8c8c7164e7ac34ffedd /src/codegen.c
parent058bb18f280dddb53ac40c838b371e9469024274 (diff)
downloadmruby-270d25bf2db157c9d1cdcc57bccefabbb1341524.tar.gz
mruby-270d25bf2db157c9d1cdcc57bccefabbb1341524.zip
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];