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)) {