summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/codegen.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-09-05 09:25:44 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-09-05 09:25:44 +0900
commit7552b9322a736197f8a7f3cae92055c34a59067f (patch)
tree58207f60712a1dcd881ba2b1019348ff52fe6b8e /mrbgems/mruby-compiler/core/codegen.c
parent28c4f2f683d06777e17800a087c64d058c0bc6a6 (diff)
downloadmruby-7552b9322a736197f8a7f3cae92055c34a59067f.tar.gz
mruby-7552b9322a736197f8a7f3cae92055c34a59067f.zip
codegen.c: avoid integer overflow.
Diffstat (limited to 'mrbgems/mruby-compiler/core/codegen.c')
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index 4546e6cc0..9eb23fab7 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -1128,6 +1128,7 @@ gen_uniop(codegen_scope *s, mrb_sym sym, uint16_t dst)
/* unary plus does nothing */
}
else if (sym == MRB_OPSYM_2(s->mrb, minus)) {
+ if (n == MRB_INT_MIN) return FALSE;
n = -n;
}
else if (sym == MRB_OPSYM_2(s->mrb, neg)) {