mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Null check for irep & initialize loc.lineno
This commit is contained in:
+7
-2
@@ -108,6 +108,8 @@ each_backtrace(mrb_state *mrb, mrb_int ciidx, mrb_code *pc0, each_backtrace_func
|
||||
|
||||
for (i = ciidx; i >= 0; i--) {
|
||||
struct backtrace_location_raw loc;
|
||||
loc.lineno = -1;
|
||||
|
||||
mrb_callinfo *ci;
|
||||
mrb_irep *irep;
|
||||
mrb_code *pc;
|
||||
@@ -128,8 +130,11 @@ each_backtrace(mrb_state *mrb, mrb_int ciidx, mrb_code *pc0, each_backtrace_func
|
||||
else {
|
||||
pc = pc0;
|
||||
}
|
||||
loc.filename = mrb_debug_get_filename(irep, (uint32_t)(pc - irep->iseq));
|
||||
loc.lineno = mrb_debug_get_line(irep, (uint32_t)(pc - irep->iseq));
|
||||
|
||||
if (irep) {
|
||||
loc.filename = mrb_debug_get_filename(irep, (uint32_t)(pc - irep->iseq));
|
||||
loc.lineno = mrb_debug_get_line(irep, (uint32_t)(pc - irep->iseq));
|
||||
}
|
||||
|
||||
if (loc.lineno == -1) continue;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user