diff options
author | Father Chrysostomos <sprout@cpan.org> | 2011-01-21 08:26:50 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2011-01-21 08:29:30 -0800 |
commit | fd1d9b5c785ad0e5340c74dd6f1be27a3735e829 (patch) | |
tree | f6509401b32a2abf51feebd28ca358bf2d28752b /Copying | |
parent | c0f8aaaaa842ec59ffd5f565760f0c9f7cfd674f (diff) | |
download | perl-fd1d9b5c785ad0e5340c74dd6f1be27a3735e829.tar.gz |
[perl #81750] Perl 5.12: undef-as-hashref bug
The addition of the boolkeys op type in commit 867fa1e2d did not
account for the fact that rv2hv (%{}) can sometimes return undef
(%$undef with strict refs turned off).
When the boolkeys op is created (and the rv2hv becomes its kid), the
rv2hv is flagged with OPf_REF, meaning that it must return a hash, not
the contents.
Perl_softrefxv in pp.c checks for that flag. If it is set, it dies
with ‘Can't use an undefined value as a HASH reference’ for unde-
fined values.
This commit changes it to make an exception if rv2hv->op_next is a
boolkeys op. It also changes pp_boolkeys to account for undef.
Diffstat (limited to 'Copying')
0 files changed, 0 insertions, 0 deletions