summaryrefslogtreecommitdiffhomepage
path: root/src/backtrace.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-04-19 15:36:42 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-04-19 15:49:50 +0900
commit2275e76262686b0ac0b94d64b73eadc1adfcc1c4 (patch)
tree319fa16bbc3b988b523d9ff1d492739d370fb93d /src/backtrace.c
parent85808e50b039f8091020f36c8e6e5fcc36bb4115 (diff)
downloadmruby-2275e76262686b0ac0b94d64b73eadc1adfcc1c4.tar.gz
mruby-2275e76262686b0ac0b94d64b73eadc1adfcc1c4.zip
backtrace.c: pedantic check for empty backtrace; ref #5394
Diffstat (limited to 'src/backtrace.c')
-rw-r--r--src/backtrace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backtrace.c b/src/backtrace.c
index d7a8a0cdb..01d4143ab 100644
--- a/src/backtrace.c
+++ b/src/backtrace.c
@@ -197,6 +197,7 @@ mrb_unpack_backtrace(mrb_state *mrb, mrb_value backtrace)
bt = (struct backtrace_location*)mrb_data_check_get_ptr(mrb, backtrace, &bt_type);
if (bt == NULL) goto empty_backtrace;
n = (mrb_int)RDATA(backtrace)->flags;
+ if (n == 0) goto empty_backtrace;
backtrace = mrb_ary_new_capa(mrb, n);
ai = mrb_gc_arena_save(mrb);
for (i = 0; i < n; i++) {