[Gc] Segfault in GC_mark_from
bruce at hoult.org
Wed Oct 22 16:25:22 PDT 2008
2008/10/23 Ivan Maidanski <ivmai at mail.ru>:
> "Bruce Hoult" <bruce at hoult.org> wrote:
>> 2008/10/23 Ivan Maidanski <ivmai at mail.ru>:
>> > So, I think, GC_general_register_disappearing_link() should be changed either:
>> > - by adding an assertion for obj argument (HDR(obj) != NULL); or
>> > - by doing the same as in GC_register_finalizer_inner() ("if (hhdr == NULL) return 0").
>> GC_register_disappearing_link() has the additional sanity checking you ask for.
> I can't see this saninity checking (at least in the current CVS) - the only action done with obj in GC_general_register_disappearing_link() is HIDE_POINTER(obj).
GC_API int GC_register_disappearing_link(void * * link)
base = (ptr_t)GC_base((void *)link);
if (base == 0)
ABORT("Bad arg to GC_register_disappearing_link");
More information about the Gc