From 2073258a7d192e8d2bc853e10464a7a5fcac8f2d Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 5 Jun 2012 11:13:18 +0000 Subject: obj_init_copy * object.c (rb_obj_init_copy): should check if trusted too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- struct.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'struct.c') diff --git a/struct.c b/struct.c index 8168f62bb1..91d562b97c 100644 --- a/struct.c +++ b/struct.c @@ -606,11 +606,7 @@ rb_struct_to_h(VALUE s) VALUE rb_struct_init_copy(VALUE copy, VALUE s) { - if (copy == s) return copy; - rb_check_frozen(copy); - if (!rb_obj_is_instance_of(s, rb_obj_class(copy))) { - rb_raise(rb_eTypeError, "wrong argument class"); - } + if (!OBJ_INIT_COPY(copy, s)) return copy; if (RSTRUCT_LEN(copy) != RSTRUCT_LEN(s)) { rb_raise(rb_eTypeError, "struct size mismatch"); } -- cgit v1.2.3