mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
argv may be modified when mrb_funcall() is called; fix #3419
Calling `mrb_funcall()` and `mrb_yield()` (and their related functions) are discouraged unless absolutely necessary, because it can cause this kind of issues very easily.
This commit is contained in:
@@ -445,8 +445,11 @@ mrb_obj_extend_m(mrb_state *mrb, mrb_value self)
|
||||
{
|
||||
mrb_value *argv;
|
||||
mrb_int argc;
|
||||
mrb_value args;
|
||||
|
||||
mrb_get_args(mrb, "*", &argv, &argc);
|
||||
args = mrb_ary_new_from_values(mrb, argc, argv);
|
||||
argv = (mrb_value*)RARRAY_PTR(args);
|
||||
return mrb_obj_extend(mrb, argc, argv, self);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user