diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-01-29 05:35:15 -0800 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-01-29 05:35:15 -0800 |
| commit | e18a9c0a56aebcee004cd039c97667b56106e6aa (patch) | |
| tree | fca1f4d4a5c15ce55c7604e5208abdde47f06bf3 | |
| parent | 14c97e824327fd103e81bd27907715c6e1a58b39 (diff) | |
| parent | 7941dfb44a1c843c990d1ba0b65071e21f83520d (diff) | |
| download | mruby-e18a9c0a56aebcee004cd039c97667b56106e6aa.tar.gz mruby-e18a9c0a56aebcee004cd039c97667b56106e6aa.zip | |
Merge pull request #788 from masamitsu-murase/modify_range_initialize
Modify range initialize to prevent segmentation fault.
| -rw-r--r-- | src/range.c | 2 | ||||
| -rw-r--r-- | test/t/range.rb | 15 |
2 files changed, 8 insertions, 9 deletions
diff --git a/src/range.c b/src/range.c index 426695a94..2cdc34f5c 100644 --- a/src/range.c +++ b/src/range.c @@ -43,8 +43,8 @@ mrb_range_new(mrb_state *mrb, mrb_value beg, mrb_value end, int excl) struct RRange *r; r = (struct RRange*)mrb_obj_alloc(mrb, MRB_TT_RANGE, RANGE_CLASS); - r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges)); range_check(mrb, beg, end); + r->edges = (struct mrb_range_edges *)mrb_malloc(mrb, sizeof(struct mrb_range_edges)); r->edges->beg = beg; r->edges->end = end; r->excl = excl; diff --git a/test/t/range.rb b/test/t/range.rb index 691ca7898..21bcb5c55 100644 --- a/test/t/range.rb +++ b/test/t/range.rb @@ -48,14 +48,13 @@ assert('Range#include', '15.2.14.4.8') do a.include?(5) and not a.include?(20) end -# TODO SEGFAULT ATM -#assert('Range#initialize', '15.2.14.4.9') do -# a = Range.new(1, 10, true) -# b = Range.new(1, 10, false) -# -# a == (1..10) and a.exclude_end? and b == (1..10) and -# not b.exclude_end? -#end +assert('Range#initialize', '15.2.14.4.9') do + a = Range.new(1, 10, true) + b = Range.new(1, 10, false) + + a == (1...10) and a.exclude_end? and b == (1..10) and + not b.exclude_end? +end assert('Range#last', '15.2.14.4.10') do (1..10).last == 10 |
