--- CBOR-XS/XS.xs 2023/09/08 05:47:10 1.77 +++ CBOR-XS/XS.xs 2023/09/08 06:01:12 1.78 @@ -1203,7 +1203,7 @@ // references in it, to be re4solved after decoding. int idx, i; AV *av = newAV (); - av_push (dec->shareable, SvREFCNT_inc_NN ((SV *)av)); + av_push (dec->shareable, (SV *)av); idx = AvFILLp (dec->shareable); sv = decode_sv (dec); @@ -1214,7 +1214,7 @@ SvRV_set (AvARRAY (av)[i], SvREFCNT_inc_NN (SvRV (sv))); // now replace the AV by a reference to the completed value - SvREFCNT_dec_NN (av); + SvREFCNT_dec_NN ((SV *)av); AvARRAY (dec->shareable)[idx] = SvREFCNT_inc_NN (sv); } else @@ -1222,7 +1222,7 @@ av_push (dec->shareable, &PL_sv_undef); int idx = AvFILLp (dec->shareable); sv = decode_sv (dec); - av_store (dec->shareable, idx, SvREFCNT_inc_NN (sv)); + AvARRAY (dec->shareable)[idx] = SvREFCNT_inc_NN (sv); } } break;