lval substr() coredumps with refs (with patch)
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>
Wed, 28 Aug 1996 02:32:42 +0000 (02:32 +0000)
committerAndy Dougherty <doughera@lafcol.lafayette.edu>
Wed, 28 Aug 1996 02:32:42 +0000 (02:32 +0000)
commit08cb0b0dfc0b335573d521f40e4603db18152668
tree51b82ddda8e924aa8c5b229a578d65e65a3d5e60
parentb98941349ef30a9e2a7d1bbadf33c4ecf948a1ee
lval substr() coredumps with refs (with patch)

substr() in lvalue context interacts in buggy fashion with SVs that
are !SvOK.  This manifests itself with lexicals that have a REFCNT of
1, since these are merely "cleared in place" by setting SvOK_off.

substr() coredumps with a target that is a ref, when it is used in
an lvalue context.
The patch below corrects the problem by stringifying the reference
first (and emitting a warning when appropriate).
t/op/substr.t