diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index 1ab2b0ac1..113850bff 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -188,8 +188,15 @@ void initGC() #if HAVE_BOEHMGC /* Initialise the Boehm garbage collector. */ + + /* Don't look for interior pointers. This reduces the odds of + misdetection a bit. */ GC_set_all_interior_pointers(0); + /* We don't have any roots in data segments, so don't scan from + there. */ + GC_set_no_dls(1); + GC_INIT(); GC_set_oom_fn(oomHandler);