Check if `ptr` is NULL before calling `memset`; fix #3765

parent 13587257
...@@ -206,7 +206,7 @@ packed_backtrace(mrb_state *mrb) ...@@ -206,7 +206,7 @@ packed_backtrace(mrb_state *mrb)
each_backtrace(mrb, ciidx, mrb->c->ci->pc, count_backtrace_i, &len); each_backtrace(mrb, ciidx, mrb->c->ci->pc, count_backtrace_i, &len);
size = len * sizeof(struct backtrace_location); size = len * sizeof(struct backtrace_location);
ptr = mrb_malloc(mrb, size); ptr = mrb_malloc(mrb, size);
memset(ptr, 0, size); if (ptr) memset(ptr, 0, size);
backtrace = mrb_data_object_alloc(mrb, NULL, ptr, &bt_type); backtrace = mrb_data_object_alloc(mrb, NULL, ptr, &bt_type);
backtrace->flags = (unsigned int)len; backtrace->flags = (unsigned int)len;
each_backtrace(mrb, ciidx, mrb->c->ci->pc, pack_backtrace_i, &ptr); each_backtrace(mrb, ciidx, mrb->c->ci->pc, pack_backtrace_i, &ptr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment