diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-09-05 09:25:44 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-09-05 09:25:44 +0900 |
| commit | 7552b9322a736197f8a7f3cae92055c34a59067f (patch) | |
| tree | 58207f60712a1dcd881ba2b1019348ff52fe6b8e /mrbgems/mruby-compiler/core/codegen.c | |
| parent | 28c4f2f683d06777e17800a087c64d058c0bc6a6 (diff) | |
| download | mruby-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.c | 1 |
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)) { |
