summaryrefslogtreecommitdiff
path: root/version.c
diff options
context:
space:
mode:
authorrhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-09-26 02:09:50 +0000
committerrhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-09-26 02:09:50 +0000
commit537fea9921c8b18ec975d9520881167796d1bbd9 (patch)
treeb0c71ecc1eaad41116f8122154d0cef8dbfa2e33 /version.c
parentb1de2a16248ac96d4e01cece21eb6cab2745f42c (diff)
string.c: fix integer overflow in enc_strlen() and rb_enc_strlen_cr()
* string.c (enc_strlen, rb_enc_strlen_cr): Avoid signed integer overflow. The result type of a pointer subtraction may have the same size as long. This fixes String#size returning an negative value on i686-linux environment: str = "\x00" * ((1<<31)-2)) str.slice!(-3, 3) str.force_encoding("UTF-32BE") str << 1234 p str.size git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'version.c')
0 files changed, 0 insertions, 0 deletions