mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Fix fptr leakage; ref #3903
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user