diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-09 01:28:31 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-03-09 01:28:31 +0900 |
| commit | ee57789c724cb8bb86ebeda2dfd2ef585e996f68 (patch) | |
| tree | 88ac5cdfa6e37967467ee13fc7b39794e4b7e6c5 /src/class.c | |
| parent | 452bf73c2317cc4c9cf69b4dbf3ff82c3bde89c3 (diff) | |
| parent | 270d25bf2db157c9d1cdcc57bccefabbb1341524 (diff) | |
| download | mruby-ee57789c724cb8bb86ebeda2dfd2ef585e996f68.tar.gz mruby-ee57789c724cb8bb86ebeda2dfd2ef585e996f68.zip | |
Merge pull request #1831 from monaka/pr-make-type-casts-safer
Make type casts safer
Diffstat (limited to 'src/class.c')
| -rw-r--r-- | src/class.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/class.c b/src/class.c index 5a084b016..d880e3627 100644 --- a/src/class.c +++ b/src/class.c @@ -540,9 +540,12 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) ps = va_arg(ap, char**); if (i < argc) { + size_t size_t_len; ss = to_str(mrb, *sp++); s = mrb_str_ptr(ss); - len = (mrb_int)strlen(RSTRING_PTR(ss)); + size_t_len = strlen(RSTRING_PTR(ss)); + mrb_assert(size_t_len <= MRB_INT_MAX); + len = (mrb_int)size_t_len; if (len < RSTRING_LEN(ss)) { mrb_raise(mrb, E_ARGUMENT_ERROR, "string contains null byte"); } |
