summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-range-ext/src/range.c
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 /mrbgems/mruby-range-ext/src/range.c
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 'mrbgems/mruby-range-ext/src/range.c')
-rw-r--r--mrbgems/mruby-range-ext/src/range.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mrbgems/mruby-range-ext/src/range.c b/mrbgems/mruby-range-ext/src/range.c
index ccb5a9e45..8aa1379b0 100644
--- a/mrbgems/mruby-range-ext/src/range.c
+++ b/mrbgems/mruby-range-ext/src/range.c
@@ -44,7 +44,7 @@ static mrb_value
mrb_range_cover(mrb_state *mrb, mrb_value range)
{
mrb_value val;
- struct RRange *r = mrb_range_ptr(range);
+ struct RRange *r = mrb_range_ptr(mrb, range);
mrb_value beg, end;
mrb_get_args(mrb, "o", &val);
@@ -87,7 +87,7 @@ mrb_range_last(mrb_state *mrb, mrb_value range)
{
mrb_value num;
mrb_value array;
- struct RRange *r = mrb_range_ptr(range);
+ struct RRange *r = mrb_range_ptr(mrb, range);
if (mrb_get_args(mrb, "|o", &num) == 0) {
return r->edges->end;
@@ -111,7 +111,7 @@ mrb_range_last(mrb_state *mrb, mrb_value range)
static mrb_value
mrb_range_size(mrb_state *mrb, mrb_value range)
{
- struct RRange *r = mrb_range_ptr(range);
+ struct RRange *r = mrb_range_ptr(mrb, range);
mrb_value beg, end;
mrb_float beg_f, end_f;
mrb_bool num_p = TRUE;