Skip to content

Commit f3e59f0

Browse files
committed
fix sharedref occurence in fast decoder
1 parent dfbbc3d commit f3e59f0

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/mrb_cbor.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,7 @@ static mrb_value
550550
decode_tag_sharedrefs(mrb_state* mrb, Reader* r,
551551
mrb_value src, mrb_value sharedrefs)
552552
{
553+
553554
uint8_t nb = reader_read8(mrb, r);
554555
uint8_t major = nb >> 5;
555556
uint8_t info = nb & 0x1F;
@@ -561,7 +562,9 @@ decode_tag_sharedrefs(mrb_state* mrb, Reader* r,
561562

562563
r->p--;
563564
mrb_value v = decode_value(mrb, r, src, sharedrefs);
564-
mrb_ary_push(mrb, sharedrefs, v);
565+
if (mrb_array_p(sharedrefs)) {
566+
mrb_ary_push(mrb, sharedrefs, v);
567+
}
565568
return v;
566569
}
567570

0 commit comments

Comments
 (0)