summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2016-12-03 12:27:48 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2016-12-03 12:30:01 +0900
commit79a621dd739faf4cc0958e11d6a887331cf79e48 (patch)
tree87f87b43599428cdd022d35b213b61515463d683 /include
parent9776150263d58b2b4948580201fc630eb5626bdc (diff)
downloadmruby-79a621dd739faf4cc0958e11d6a887331cf79e48.tar.gz
mruby-79a621dd739faf4cc0958e11d6a887331cf79e48.zip
Check before retrieving struct RRange pointer; fix #3320
range->edges may be NULL for example when #initialize_copy removed.
Diffstat (limited to 'include')
-rw-r--r--include/mruby/range.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/mruby/range.h b/include/mruby/range.h
index cf42ce133..fb602b3f3 100644
--- a/include/mruby/range.h
+++ b/include/mruby/range.h
@@ -25,7 +25,8 @@ struct RRange {
mrb_bool excl : 1;
};
-#define mrb_range_ptr(v) ((struct RRange*)(mrb_ptr(v)))
+MRB_API struct RRange* mrb_range_ptr(mrb_state *mrb, mrb_value v);
+#define mrb_range_raw_ptr(v) ((struct RRange*)mrb_ptr(v))
#define mrb_range_value(p) mrb_obj_value((void*)(p))
/*