From: Nicholas Clark Date: Thu, 16 Jun 2005 22:08:29 +0000 (+0000) Subject: Storing the ixv for magic arrays seems to cause double free errors on X-Git-Tag: accepted/trunk/20130322.191538~20374 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=97d630600d8c80a1700f77cb16abf79250239316;p=platform%2Fupstream%2Fperl.git Storing the ixv for magic arrays seems to cause double free errors on OS X. This all feels like voodoo. p4raw-id: //depot/perl@24879 --- diff --git a/ext/B/B/Bytecode.pm b/ext/B/B/Bytecode.pm index b60651a..2d78d73 100644 --- a/ext/B/B/Bytecode.pm +++ b/ext/B/B/Bytecode.pm @@ -233,6 +233,9 @@ sub B::PVIV::bsave { $sv->ROK ? $sv->B::RV::bsave($ix): $sv->B::NULL::bsave($ix); + # See note below in B::PVNV::bsave + return if $sv->isa('B::AV'); + return if $sv->isa('B::HV'); asm "xiv", !ITHREADS && $sv->FLAGS & (SVf_FAKE|SVf_READONLY) ? "0 but true" : $sv->IVX; }