summaryrefslogtreecommitdiffhomepage
path: root/src/range.c
diff options
context:
space:
mode:
authorClayton Smith <[email protected]>2016-12-13 10:04:15 -0500
committerClayton Smith <[email protected]>2016-12-13 10:04:15 -0500
commit73ad7395c066c4ffbf9c082be6bb45b2214e9286 (patch)
tree9622ea696712b781cf24d8e4b3e46349158a9c64 /src/range.c
parentfead715cef36abe7fe448b240636312acdd10775 (diff)
downloadmruby-73ad7395c066c4ffbf9c082be6bb45b2214e9286.tar.gz
mruby-73ad7395c066c4ffbf9c082be6bb45b2214e9286.zip
Check type before calling mrb_range_ptr.
Diffstat (limited to 'src/range.c')
-rw-r--r--src/range.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/range.c b/src/range.c
index 417957420..73fe7589b 100644
--- a/src/range.c
+++ b/src/range.c
@@ -252,9 +252,10 @@ static mrb_bool
range_beg_len(mrb_state *mrb, mrb_value range, mrb_int *begp, mrb_int *lenp, mrb_int len, mrb_bool trunc)
{
mrb_int beg, end;
- struct RRange *r = mrb_range_ptr(mrb, range);
+ struct RRange *r;
if (mrb_type(range) != MRB_TT_RANGE) return FALSE;
+ r = mrb_range_ptr(mrb, range);
beg = mrb_int(mrb, r->edges->beg);
end = mrb_int(mrb, r->edges->end);