Branch: refs/heads/fix-static-COW-leak Home: https://github.com/Perl/perl5 Commit: 47e64fd86f86a644a24d6c15087f8518b39a5680 https://github.com/Perl/perl5/commit/47e64fd86f86a644a24d6c15087f8518b39a5680 Author: Nicholas Clark <n...@ccl4.org> Date: 2021-09-11 (Sat, 11 Sep 2021)
Changed paths: M sv.c Log Message: ----------- Fix a leak when copying a STATIC COW SV to a stringified SV. commit 914bb57489325d34: Define a third kind of COW state; STATIC ... sv_setsv_flags() and sv_setsv_cow() will preserve this state There was a minor bug in the copy code - it didn't handle the case where the destination SV owned a string buffer already. This is actually relatively rare - triggering it requires a scalar in code path that is assigned both strings and booleans. Minimal test case is: my $got = 1; $got .= ""; $got = ref ""; cut down from &is in t/comp/parser.t