1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* range.c (rb_range_beg_len): Fix potential bug for limit case [#6203]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
marcandre 2012-11-21 04:23:56 +00:00
parent b317bf06a4
commit 165da0da2f

View file

@ -1076,16 +1076,16 @@ rb_range_beg_len(VALUE range, long *begp, long *lenp, long len, int err)
if (beg < 0)
goto out_of_range;
}
if (end < 0)
end += len;
if (!excl)
end++; /* include end point */
if (err == 0 || err == 2) {
if (beg > len)
goto out_of_range;
if (end > len)
end = len;
}
if (end < 0)
end += len;
if (!excl)
end++; /* include end point */
len = end - beg;
if (len < 0)
len = 0;