From 94355e2984dad584f409d732fea4310bbbd3588f Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 9 Oct 2008 18:41:35 +0000 Subject: [PATCH] * sprintf.c (rb_str_format): check if codepoint for %c is valid. [ruby-dev:36691] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ sprintf.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b8faf5513a..038922dffa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Oct 10 03:41:31 2008 Nobuyoshi Nakada + + * sprintf.c (rb_str_format): check if codepoint for %c is valid. + [ruby-dev:36691] + Fri Oct 10 01:55:48 2008 Nobuyoshi Nakada * encoding.c (enc_names): minor improvement. diff --git a/sprintf.c b/sprintf.c index 0085cfc176..34152b1704 100644 --- a/sprintf.c +++ b/sprintf.c @@ -618,7 +618,7 @@ rb_str_format(int argc, const VALUE *argv, VALUE fmt) c = NUM2INT(val); } n = rb_enc_codelen(c, enc); - if (n == 0) { + if (n <= 0) { rb_raise(rb_eArgError, "invalid character"); } if (!(flags & FWIDTH)) {