summaryrefslogtreecommitdiffhomepage
path: root/src/backtrace.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-08 01:54:43 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-08-08 01:54:43 +0900
commite910cf61693c8c933c11c726c88eec82a6da0a76 (patch)
tree093ab7929fbdf0d68a530eb24b8b542cb2608fb7 /src/backtrace.c
parent1358725738433f4b91ce268e96be6a21db03a24b (diff)
downloadmruby-e910cf61693c8c933c11c726c88eec82a6da0a76.tar.gz
mruby-e910cf61693c8c933c11c726c88eec82a6da0a76.zip
Check if `ptr` is NULL before calling `memset`; fix #3765
Diffstat (limited to 'src/backtrace.c')
-rw-r--r--src/backtrace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backtrace.c b/src/backtrace.c
index f04395597..0f5240f6f 100644
--- a/src/backtrace.c
+++ b/src/backtrace.c
@@ -206,7 +206,7 @@ packed_backtrace(mrb_state *mrb)
each_backtrace(mrb, ciidx, mrb->c->ci->pc, count_backtrace_i, &len);
size = len * sizeof(struct backtrace_location);
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->flags = (unsigned int)len;
each_backtrace(mrb, ciidx, mrb->c->ci->pc, pack_backtrace_i, &ptr);