From 72f8df158f68581bcb4484330abab1ae8cf7acc7 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 7 Mar 2017 05:48:15 +0000 Subject: string.c: fix integer overflow * string.c (rb_str_subpos): fix integer overflow which can happen only when SHARABLE_MIDDLE_SUBSTRING is enabled. incorpolate https://github.com/mruby/mruby/commit/7db0786abdd243ba031e24683f git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'string.c') diff --git a/string.c b/string.c index e239a27a4c..4968e86d74 100644 --- a/string.c +++ b/string.c @@ -2386,7 +2386,7 @@ rb_str_subpos(VALUE str, long beg, long *lenp) beg += blen; if (beg < 0) return 0; } - if (beg + len > blen) + if (len > blen - beg) len = blen - beg; if (len < 0) return 0; p = s + beg; -- cgit v1.2.3