mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Add more checks before accessing struct pointer; ref #3831
This commit is contained in:
@@ -147,11 +147,13 @@ static mrb_value
|
||||
mrb_struct_set_m(mrb_state *mrb, mrb_value obj)
|
||||
{
|
||||
mrb_int i = mrb_fixnum(mrb_proc_cfunc_env_get(mrb, 0));
|
||||
mrb_value *ptr = RSTRUCT_PTR(obj);
|
||||
mrb_value *ptr;
|
||||
mrb_value val;
|
||||
|
||||
mrb_get_args(mrb, "o", &val);
|
||||
mrb_struct_modify(mrb, obj);
|
||||
if (i >= RSTRUCT_LEN(obj)) {
|
||||
ptr = RSTRUCT_PTR(obj);
|
||||
if (ptr == NULL || i >= RSTRUCT_LEN(obj)) {
|
||||
mrb_ary_set(mrb, obj, i, val);
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user