From 405f5a2d2ac39cfb9e294aba420fe70d87f15cb1 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 28 Feb 2017 09:25:09 +0900 Subject: Add type check by mrb_get_args(); ref #3476 --- src/string.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/string.c b/src/string.c index 84f33024e..a0d75f544 100644 --- a/src/string.c +++ b/src/string.c @@ -1591,8 +1591,7 @@ mrb_str_index(mrb_state *mrb, mrb_value str) mrb_get_args(mrb, "*", &argv, &argc); if (argc == 2) { - pos = mrb_fixnum(argv[1]); - sub = argv[0]; + mrb_get_args(mrb, "oi", &sub, &pos); } else { pos = 0; @@ -1857,14 +1856,11 @@ mrb_str_rindex(mrb_state *mrb, mrb_value str) mrb_value *argv; mrb_int argc; mrb_value sub; - mrb_value vpos; mrb_int pos, len = RSTRING_CHAR_LEN(str); mrb_get_args(mrb, "*", &argv, &argc); if (argc == 2) { - sub = argv[0]; - vpos = argv[1]; - pos = mrb_fixnum(vpos); + mrb_get_args(mrb, "oi", &sub, &pos); if (pos < 0) { pos += len; if (pos < 0) { -- cgit v1.2.3