summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2015-08-10 11:41:01 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-08-10 11:41:01 +0900
commit5af770cd59f6edb6f111f497fef4df3fe956cc62 (patch)
treeb1a01728fd476192ee8ad7ebeb9b5b9cfcabf1a7 /src/vm.c
parent0c7d29dff68b4d85fbbc9c6f8c0328ddb303f000 (diff)
downloadmruby-5af770cd59f6edb6f111f497fef4df3fe956cc62.tar.gz
mruby-5af770cd59f6edb6f111f497fef4df3fe956cc62.zip
prevent out-of-bounds ensure clause access; fix #2910
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index 025b487bc..00636a870 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -266,6 +266,7 @@ ecall(mrb_state *mrb, int i)
mrb_value *self = mrb->c->stack;
struct RObject *exc;
+ if (i<0) return;
p = mrb->c->ensure[i];
if (!p) return;
if (mrb->c->ci->eidx > i)