diff options
author | Nobuyoshi Nakada <[email protected]> | 2020-04-25 09:29:27 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2020-04-25 09:29:27 +0900 |
commit | 42ac3f79ba7104b234546f906f51de485d3a1823 (patch) | |
tree | 3e8b45844e38ce8f555f0e8c2b34dc6231bb8d80 /gc.c | |
parent | cc8f55e9e31e8057c6b5bfd417ca4f70d41b9a33 (diff) |
Assert that typed data is distinguished from non-typed
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/3058
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -2327,6 +2327,7 @@ rb_imemo_new_debug(enum imemo_type type, VALUE v1, VALUE v2, VALUE v3, VALUE v0, VALUE rb_data_object_wrap(VALUE klass, void *datap, RUBY_DATA_FUNC dmark, RUBY_DATA_FUNC dfree) { + RUBY_ASSERT_ALWAYS(dfree != (RUBY_DATA_FUNC)1); if (klass) Check_Type(klass, T_CLASS); return newobj_of(klass, T_DATA, (VALUE)dmark, (VALUE)dfree, (VALUE)datap, FALSE); } @@ -2342,6 +2343,7 @@ rb_data_object_zalloc(VALUE klass, size_t size, RUBY_DATA_FUNC dmark, RUBY_DATA_ VALUE rb_data_typed_object_wrap(VALUE klass, void *datap, const rb_data_type_t *type) { + RUBY_ASSERT_ALWAYS(type); if (klass) Check_Type(klass, T_CLASS); return newobj_of(klass, T_DATA, (VALUE)type, (VALUE)1, (VALUE)datap, type->flags & RUBY_FL_WB_PROTECTED); } |