diff --git a/ChangeLog b/ChangeLog index a4c1bc6d68..419864a262 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat May 25 08:58:23 2013 Nobuyoshi Nakada + + * string.c (rb_str_quote_unprintable): check if argument is a string. + Fri May 24 19:32:00 2013 Charlie Somerville * variable.c (set_const_visibility): use rb_frame_this_func() instead diff --git a/string.c b/string.c index aef65e74c7..fbd496ea7c 100644 --- a/string.c +++ b/string.c @@ -8152,8 +8152,10 @@ rb_str_quote_unprintable(VALUE str) rb_encoding *enc; const char *ptr; long len; - rb_encoding *resenc = rb_default_internal_encoding(); + rb_encoding *resenc; + Check_Type(str, T_STRING); + resenc = rb_default_internal_encoding(); if (resenc == NULL) resenc = rb_default_external_encoding(); enc = STR_ENC_GET(str); ptr = RSTRING_PTR(str);