Fix fptr leakage; ref #3903

This commit is contained in:
Yukihiro "Matz" Matsumoto
2017-12-18 11:48:28 +09:00
parent 83d02bcd5a
commit e5056d058a
+3 -3
View File
@@ -566,6 +566,9 @@ mrb_io_initialize_copy(mrb_state *mrb, mrb_value copy)
fptr_copy = (struct mrb_io *)mrb_io_alloc(mrb);
fptr_orig = io_get_open_fptr(mrb, orig);
DATA_TYPE(copy) = &mrb_io_type;
DATA_PTR(copy) = fptr_copy;
buf = mrb_iv_get(mrb, orig, mrb_intern_cstr(mrb, "@buf"));
mrb_iv_set(mrb, copy, mrb_intern_cstr(mrb, "@buf"), buf);
@@ -577,9 +580,6 @@ mrb_io_initialize_copy(mrb_state *mrb, mrb_value copy)
fptr_copy->sync = fptr_orig->sync;
fptr_copy->is_socket = fptr_orig->is_socket;
DATA_TYPE(copy) = &mrb_io_type;
DATA_PTR(copy) = fptr_copy;
return copy;
}