From 82dc0c6aa380ea736adcd5ea54ec8f77a9269007 Mon Sep 17 00:00:00 2001 From: Kenta Murata Date: Wed, 2 Dec 2020 09:42:05 +0900 Subject: memory_view.c: Check availability in rb_memory_view_get --- ext/-test-/memory_view/memory_view.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ext/-test-/memory_view/memory_view.c') diff --git a/ext/-test-/memory_view/memory_view.c b/ext/-test-/memory_view/memory_view.c index 7f1f007ba4..f7c5090087 100644 --- a/ext/-test-/memory_view/memory_view.c +++ b/ext/-test-/memory_view/memory_view.c @@ -35,7 +35,8 @@ exportable_string_get_memory_view(VALUE obj, rb_memory_view_t *view, int flags) static int exportable_string_memory_view_available_p(VALUE obj) { - return Qtrue; + VALUE str = rb_ivar_get(obj, id_str); + return !NIL_P(str); } static const rb_memory_view_entry_t exportable_string_memory_view_entry = { @@ -232,6 +233,9 @@ memory_view_ref_count_while_exporting(VALUE mod, VALUE obj, VALUE n) static VALUE expstr_initialize(VALUE obj, VALUE s) { + if (!NIL_P(s)) { + Check_Type(s, T_STRING); + } rb_ivar_set(obj, id_str, s); return Qnil; } -- cgit v1.2.3