diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-05-25 10:40:35 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-05-25 10:40:35 +0900 |
| commit | 3ef97e3dd9fdd31ecca30d04d0fc3783ca8dab58 (patch) | |
| tree | 2b01864351ff3165b3b560773f109e8741dda506 /mrbgems/mruby-sprintf/src | |
| parent | 9bca887ac454770a8d759832853a78a5fc942147 (diff) | |
| download | mruby-3ef97e3dd9fdd31ecca30d04d0fc3783ca8dab58.tar.gz mruby-3ef97e3dd9fdd31ecca30d04d0fc3783ca8dab58.zip | |
Under MRB_INT64, width may be bigger than INT_MAX; fix #3665
Diffstat (limited to 'mrbgems/mruby-sprintf/src')
| -rw-r--r-- | mrbgems/mruby-sprintf/src/sprintf.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index 8df0d9360..b1dfabbc2 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -1034,6 +1034,9 @@ retry: if ((flags & FWIDTH) && need < width) need = width; + if (need < 0) { + mrb_raise(mrb, E_ARGUMENT_ERROR, "width too big"); + } FILL(' ', need); if (flags & FMINUS) { if (sign) |
