summaryrefslogtreecommitdiff
path: root/enumerator.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-05 11:13:18 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-06-05 11:13:18 +0000
commit2073258a7d192e8d2bc853e10464a7a5fcac8f2d (patch)
tree9c7290dc3a782104d0b14f2feaffc6131744f4e2 /enumerator.c
parentb1ae6e473e1c1865a1dcd5e4e5d242345c20cc77 (diff)
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
Diffstat (limited to 'enumerator.c')
-rw-r--r--enumerator.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/enumerator.c b/enumerator.c
index e62eabf61f..f01ddd51e6 100644
--- a/enumerator.c
+++ b/enumerator.c
@@ -373,6 +373,7 @@ enumerator_init_copy(VALUE obj, VALUE orig)
{
struct enumerator *ptr0, *ptr1;
+ if (!OBJ_INIT_COPY(obj, orig)) return obj;
ptr0 = enumerator_ptr(orig);
if (ptr0->fib) {
/* Fibers cannot be copied */
@@ -1146,6 +1147,8 @@ generator_init_copy(VALUE obj, VALUE orig)
{
struct generator *ptr0, *ptr1;
+ if (!OBJ_INIT_COPY(obj, orig)) return obj;
+
ptr0 = generator_ptr(orig);
TypedData_Get_Struct(obj, struct generator, &generator_data_type, ptr1);