diff options
| author | Masamitsu MURASE <[email protected]> | 2013-02-03 16:32:30 +0900 |
|---|---|---|
| committer | Masamitsu MURASE <[email protected]> | 2013-02-03 16:32:30 +0900 |
| commit | 641fc9902f6dd8c7b647a1bd61ee6fd9243acb34 (patch) | |
| tree | 046f7f616f9eb35dedadc078892edebbd7e25f03 /src | |
| parent | 2087526342e3fe3f74e5a609d3025ee964d58e4a (diff) | |
| download | mruby-641fc9902f6dd8c7b647a1bd61ee6fd9243acb34.tar.gz mruby-641fc9902f6dd8c7b647a1bd61ee6fd9243acb34.zip | |
Prevent overflow of `Fixnum#to_s`.
Diffstat (limited to 'src')
| -rw-r--r-- | src/numeric.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/numeric.c b/src/numeric.c index 8bf2b3382..f6894a57b 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -1160,7 +1160,7 @@ fix_minus(mrb_state *mrb, mrb_value self) mrb_value mrb_fix2str(mrb_state *mrb, mrb_value x, int base) { - char buf[64], *b = buf + sizeof buf; + char buf[sizeof(mrb_int)*CHAR_BIT+2], *b = buf + sizeof buf; mrb_int val = mrb_fixnum(x); int neg = 0; |
