* sprintf.c (rb_str_format): fix buffer overflow.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2008-12-22 15:18:12 +00:00
Родитель 8f79efe0be
Коммит 41da4d16b0
2 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -1,3 +1,7 @@
Tue Dec 23 00:16:48 2008 Yusuke Endoh <mame@tsg.ne.jp>
* sprintf.c (rb_str_format): fix buffer overflow.
Mon Dec 22 19:31:19 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* common.mk (revision.h): uses tool/file2lastrev.rb to support

Просмотреть файл

@ -979,8 +979,8 @@ rb_str_format(int argc, const VALUE *argv, VALUE fmt)
if ((flags & FWIDTH) && need < width)
need = width;
CHECK(need);
snprintf(&buf[blen], need, "%*s", need, "");
CHECK(need + 1);
snprintf(&buf[blen], need + 1, "%*s", need, "");
if (flags & FMINUS) {
if (!isnan(fval) && fval < 0.0)
buf[blen++] = '-';