Bug#732715: Patch

Hilko Bengen bengen at hilluzination.de
Wed Dec 25 18:14:11 UTC 2013


Control: tag -1 upstream
Control: tag -1 patch

After looking at the reference conuters using Devel::Peek (modified
reproducer program is attached), it looks to me as if the "Attempt to
free unreferenced scalar" message affected only the last entry in the
list: REFCNT=1 where it should be at least 2. The first entry gets
REFCNT=1, all other get REFCNT=2. I suspect that the reference counters
get messed up at the end of the loop and that this has something to do
with the POP_MULTICALL macro.

Setting $_ to undef (at least that's what I think GvSV(PL_defgv) means)
before the POP_MULTICALL seems to fix the problem here.

Cheers,
-Hilko

-------------- next part --------------
A non-text attachment was scrubbed...
Name: reproduce.pl
Type: text/x-perl
Size: 414 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20131225/3a962471/attachment.pl>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 732715.patch
Type: text/x-diff
Size: 448 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20131225/3a962471/attachment.patch>


More information about the pkg-perl-maintainers mailing list