diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-16 22:22:24 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-16 22:22:24 +0000 |
commit | bef0b1fa361728e144ec97a2a7ab88feb6752c69 (patch) | |
tree | 266edb86fc4affd07f7b3b5d973eaad5ab52d657 /bignum.c | |
parent | 04176dc21fb74c26a12895319a86eb2c3b138f90 (diff) |
* bignum.c (bigtrunc): RBIGNUM(x)->len may be zero. out of bound
access. [ruby-dev:31404]
* sprintf.c (rb_str_format): small float should not call
rb_dbl2big().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bignum.c')
-rw-r--r-- | bignum.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -97,6 +97,7 @@ bigtrunc(VALUE x) long len = RBIGNUM(x)->len; BDIGIT *ds = BDIGITS(x); + if (len == 0) return x; while (--len && !ds[len]); RBIGNUM(x)->len = ++len; return x; |