diff options
| author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-06 09:39:12 +0000 |
|---|---|---|
| committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-06 09:39:12 +0000 |
| commit | 27b3354397c9e8b6ddffcd15c97b260dde60517a (patch) | |
| tree | dd9a1b2feecc38b626d904b08ac11e8ca537d17f | |
| parent | 4f4b5e4bd018f852fd8eeaf3f0aed2b522316780 (diff) | |
| download | ruby-27b3354397c9e8b6ddffcd15c97b260dde60517a.tar.gz ruby-27b3354397c9e8b6ddffcd15c97b260dde60517a.tar.xz ruby-27b3354397c9e8b6ddffcd15c97b260dde60517a.zip | |
* transcode.c (allocate_converted_string): fix overflow condition.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | transcode.c | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Sat Sep 6 18:38:47 2008 Tanaka Akira <akr@fsij.org> + + * transcode.c (allocate_converted_string): fix overflow condition. + Sat Sep 6 15:06:21 2008 Tanaka Akira <akr@fsij.org> * transcode.c (sym_html): new variable. diff --git a/transcode.c b/transcode.c index cc3fc53c7..ccb54dfff 100644 --- a/transcode.c +++ b/transcode.c @@ -1445,7 +1445,7 @@ allocate_converted_string(const char *sname, const char *dname, res = rb_econv_convert(ec, &sp, str+len, &dp, dst_str+dst_bufsize, 0); dst_len = dp - dst_str; while (res == econv_destination_buffer_full) { - if (dst_bufsize * 2 < dst_bufsize) { + if (SIZE_MAX/2 < dst_bufsize) { goto fail; } dst_bufsize *= 2; |
