summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorSimon Génier <[email protected]>2016-01-07 11:24:16 -0500
committerSimon Génier <[email protected]>2016-01-07 11:24:16 -0500
commit146a9eeb38ac0633852c6e4ca1339020af7b58fb (patch)
tree7655011a14375078bf16d1b6adb5a35536451bb3 /src
parentf3cce24035a1dba71f47645a556188ece430bf40 (diff)
downloadmruby-146a9eeb38ac0633852c6e4ca1339020af7b58fb.tar.gz
mruby-146a9eeb38ac0633852c6e4ca1339020af7b58fb.zip
Fix segfault on mrb_exc_backtrace.
The code to iterate over backtrace locations was changed in #3065, but unfortunately output_backtrace was not correctly updated to forward the callback.
Diffstat (limited to 'src')
-rw-r--r--src/backtrace.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backtrace.c b/src/backtrace.c
index 44e9254a3..2fce6645d 100644
--- a/src/backtrace.c
+++ b/src/backtrace.c
@@ -175,7 +175,10 @@ output_backtrace_i(mrb_state *mrb, struct backtrace_location_raw *loc_raw, void
static void
output_backtrace(mrb_state *mrb, mrb_int ciidx, mrb_code *pc0, output_stream_func func, void *data)
{
- each_backtrace(mrb, ciidx, pc0, output_backtrace_i, data);
+ struct output_backtrace_args args;
+ args.func = func;
+ args.data = data;
+ each_backtrace(mrb, ciidx, pc0, output_backtrace_i, &args);
}
static void