From 72293b69f8a6bd087bdccb9b0ccfec2e1d6af430 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 25 Jul 2013 07:19:59 +0000 Subject: [PATCH] * encoding.c (check_encoding): Check T_DATA or not. is_data_encoding(obj) assumes that `obj' is T_DATA. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ encoding.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f4f0a3e6fb..60bb889b6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jul 25 16:17:55 2013 Koichi Sasada + + * encoding.c (check_encoding): Check T_DATA or not. + is_data_encoding(obj) assumes that `obj' is T_DATA. + Thu Jul 25 13:06:46 2013 Nobuyoshi Nakada * dir.c (dir_s_home): use rb_home_dir_of and rb_default_home_dir. diff --git a/encoding.c b/encoding.c index aaaf0b8a67..5be529ba31 100644 --- a/encoding.c +++ b/encoding.c @@ -121,7 +121,7 @@ check_encoding(rb_encoding *enc) static int enc_check_encoding(VALUE obj) { - if (!is_data_encoding(obj)) { + if (!RB_TYPE_P(obj, T_DATA) || !is_data_encoding(obj)) { return -1; } return check_encoding(RDATA(obj)->data);