diff options
| author | Simon Génier <[email protected]> | 2016-01-07 11:24:16 -0500 |
|---|---|---|
| committer | Simon Génier <[email protected]> | 2016-01-07 11:24:16 -0500 |
| commit | 146a9eeb38ac0633852c6e4ca1339020af7b58fb (patch) | |
| tree | 7655011a14375078bf16d1b6adb5a35536451bb3 /src/backtrace.c | |
| parent | f3cce24035a1dba71f47645a556188ece430bf40 (diff) | |
| download | mruby-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/backtrace.c')
| -rw-r--r-- | src/backtrace.c | 5 |
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 |
