Brendan O'Dea wrote:
forwarded 350369 perl5-porters@perl.org
thanks

On Sun, Jan 29, 2006 at 09:40:23AM +0000, Neil Turton wrote:

Package: perl-base
Version: 5.8.7-10

Perl shouldn't get a segmentation fault on valid or invalid input.  I
think the following code is valid, even if it is ghastly.  :)

[snip: see http://bugs.debian.org/350369]

In short, the following segfaults:

  $ perl -e '*a=$a=*b; $a=42'
Memory fault
I'm assuming that the problem is a circular assignment within the
expression (since '$a=*b; *a=$a; $a=42' doesn't break).

The simple answer is "don't do that".  This would appear never to have
worked (certainly as far back as 5.005 crashes).

It looks like Perl is now detecting the error a little better.

The results of blead 27323 on OpenVMS Alpha 8.2 are:

EAGLE> mcr []ndbgperl -e '*a=$a=*b; $a=42'
Assertion ((sstr)->sv_flags & 0xff) == SVt_PVGV || ((sstr)->sv_flags & 0xff) == SVt_PVLV failed: file "PERL_BUILD_ROOT:[000000]sv.c;1", line 3214 at -e line 1.
%SYSTEM-F-ABORT, abort

-John
[EMAIL PROTECTED]
Personal Opinion Only


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to