From b154c9488ec0e660ac4ebe7e14bede39f064d731 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 27 Oct 2004 02:46:54 +0000 Subject: * string.c (RESIZE_CAPA): check string attribute before modifying capacity member of string structure. [ruby-dev:24594] * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain performance. [ruby-talk:117701] * sprintf.c (rb_f_sprintf): raise ArgumentError for extra arguments, unless (digit)$ style used. * ext/zlib/zlib.c (gzreader_gets): use memchr() to to gain performance. [ruby-talk:117701] * sprintf.c (rb_f_sprintf): raise ArgumentError for extra arguments, unless (digit)$ style used. * eval.c (frame_free): Guy Decoux solved the leak problem. Thanks. [ruby-core:03549] * ext/zlib/zlib.c (zstream_append_input): clear klass for z->input to avoid potential vulnerability. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@7119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- sprintf.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'sprintf.c') diff --git a/sprintf.c b/sprintf.c index 98db29ea6..38283919e 100644 --- a/sprintf.c +++ b/sprintf.c @@ -770,14 +770,12 @@ rb_f_sprintf(argc, argv) } sprint_exit: -#if 0 /* XXX - We cannot validiate the number of arguments because * the format string may contain `n$'-style argument selector. */ - if (RTEST(ruby_verbose) && nextarg < argc) { + if (RTEST(ruby_verbose) && posarg >= 0 && nextarg < argc) { rb_raise(rb_eArgError, "too many arguments for format string"); } -#endif rb_str_resize(result, blen); if (tainted) OBJ_TAINT(result); -- cgit