In Storable.xs fix #80074, caused by the Perl stack moving when expanded.
authorNicholas Clark <nick@ccl4.org>
Wed, 8 Dec 2010 11:34:49 +0000 (11:34 +0000)
committerNicholas Clark <nick@ccl4.org>
Wed, 8 Dec 2010 12:01:22 +0000 (12:01 +0000)
commit8e88cfee26d866223a6b3bfffce6270271de00db
treed55322d384dd84eca3d0f35570d07425815a435c
parent6bbba9040c7840209170b2ff9a1d7b03ae1cbdc1
In Storable.xs fix #80074, caused by the Perl stack moving when expanded.

cbc736f3c4431a04 refactored Storable::{net_,}pstore to simplify the logic in
their caller, Storable::_store(). However, it introduced a bug, by assigning
the result of do_store() to a location on the Perl stack, which fails if the
Perl stack moves, because it was reallocated. Fix this assumption, and add a
test which causes the Perl stack to expand during the call to do_store().
dist/Storable/Storable.xs
dist/Storable/t/blessed.t