diff options
author | Peter Zhu <peter@peterzhu.ca> | 2024-07-18 13:44:38 -0400 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2024-07-19 08:53:32 -0400 |
commit | 57d9b8ee07ca11e5de4038b53b3d7a58ea631ffd (patch) | |
tree | 731efa555767fc75bde1b9b8721339a91d0cd755 /gc | |
parent | e8aa9daa5bcb1993f2cddbf191cc46a7ad6bebed (diff) | |
download | ruby-57d9b8ee07ca11e5de4038b53b3d7a58ea631ffd.tar.gz |
Assert that object is not frozen in rb_gc_impl_define_finalizer
Diffstat (limited to 'gc')
-rw-r--r-- | gc/default.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gc/default.c b/gc/default.c index 597044b5f6..59890d03be 100644 --- a/gc/default.c +++ b/gc/default.c @@ -2970,6 +2970,8 @@ rb_gc_impl_define_finalizer(void *objspace_ptr, VALUE obj, VALUE block) VALUE table; st_data_t data; + GC_ASSERT(!OBJ_FROZEN(obj)); + RBASIC(obj)->flags |= FL_FINALIZE; if (st_lookup(finalizer_table, obj, &data)) { |