summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-11-18 22:51:51 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-11-18 22:51:51 +0900
commit5b51b119ca16fe42d63896da8395a5d05bfa9877 (patch)
treedc36a45c0a7d821d256ee3e14012dd0a2e91f082
parent7ca2763f758fd540fe2233281bb4054966c2af29 (diff)
downloadmruby-5b51b119ca16fe42d63896da8395a5d05bfa9877.tar.gz
mruby-5b51b119ca16fe42d63896da8395a5d05bfa9877.zip
ci->err may be out of boud; close #1583
-rw-r--r--src/backtrace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backtrace.c b/src/backtrace.c
index 54927ec00..7c86d962e 100644
--- a/src/backtrace.c
+++ b/src/backtrace.c
@@ -81,7 +81,7 @@ mrb_output_backtrace(mrb_state *mrb, struct RObject *exc, output_stream_func fun
mrb_irep *irep = ci->proc->body.irep;
mrb_code *pc;
- if (mrb->c->cibase[i].err) {
+ if (mrb->c->cibase[i].err && irep && mrb->c->cibase[i].err - irep->iseq < irep->ilen) {
pc = mrb->c->cibase[i].err;
}
else if (i+1 <= ciidx) {