summaryrefslogtreecommitdiffhomepage
path: root/src/gc.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-02-04 12:59:08 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-02-04 12:59:08 +0900
commit8e0f2313302871ddd713c3e8e6a9d4731426f308 (patch)
treef6713353b1ff72ed566b541cbba2e1582f3d15e7 /src/gc.c
parent6e0ba0085d22b7751c46b178e841046483f0f6b4 (diff)
downloadmruby-8e0f2313302871ddd713c3e8e6a9d4731426f308.tar.gz
mruby-8e0f2313302871ddd713c3e8e6a9d4731426f308.zip
Mark `mrb->backtrace.exc` as GC root; fix #3388
Diffstat (limited to 'src/gc.c')
-rw-r--r--src/gc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index c75a0f9aa..225ca095c 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -857,6 +857,7 @@ root_scan_phase(mrb_state *mrb, mrb_gc *gc)
mrb_gc_mark(mrb, (struct RBasic*)mrb->top_self);
/* mark exception */
mrb_gc_mark(mrb, (struct RBasic*)mrb->exc);
+ mrb_gc_mark(mrb, (struct RBasic*)mrb->backtrace.exc);
/* mark pre-allocated exception */
mrb_gc_mark(mrb, (struct RBasic*)mrb->nomem_err);
#ifdef MRB_GC_FIXED_ARENA