summaryrefslogtreecommitdiff
path: root/memory_view.c
diff options
context:
space:
mode:
authorKenta Murata <mrkn@mrkn.jp>2020-12-02 09:42:05 +0900
committerKenta Murata <mrkn@mrkn.jp>2020-12-02 09:44:03 +0900
commit82dc0c6aa380ea736adcd5ea54ec8f77a9269007 (patch)
tree5b7e1f3501299bc2a83c5a0459ebfd56856f71b9 /memory_view.c
parent7172272c4ca290b0b8d5bed4dd9de84eb1561303 (diff)
memory_view.c: Check availability in rb_memory_view_get
Diffstat (limited to 'memory_view.c')
-rw-r--r--memory_view.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/memory_view.c b/memory_view.c
index aade3a4aaf..4a4245abbf 100644
--- a/memory_view.c
+++ b/memory_view.c
@@ -592,6 +592,10 @@ rb_memory_view_get(VALUE obj, rb_memory_view_t* view, int flags)
VALUE klass = CLASS_OF(obj);
const rb_memory_view_entry_t *entry = lookup_memory_view_entry(klass);
if (entry) {
+ if (!(*entry->available_p_func)(obj)) {
+ return 0;
+ }
+
int rv = (*entry->get_func)(obj, view, flags);
if (rv) {
register_exported_object(view->obj);