diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2004-09-30 20:51:31 +0000 |
---|---|---|
committer | Dave Mitchell <davem@fdisolutions.com> | 2004-09-30 20:51:31 +0000 |
commit | ac53db4c3f7e2209c2c3f33df2423b5511eedd24 (patch) | |
tree | 3cc642b808a44eabc82437cfdb13fcc6ef025de2 | |
parent | 476b65d99f3d74dcdd84fe0193db04f9db2c3d52 (diff) | |
download | perl-ac53db4c3f7e2209c2c3f33df2423b5511eedd24.tar.gz |
[perl #31767] open $1, "file" doesn't raise an exception
p4raw-id: //depot/perl@23342
-rw-r--r-- | pp.c | 2 | ||||
-rwxr-xr-x | t/io/open.t | 8 |
2 files changed, 9 insertions, 1 deletions
@@ -159,6 +159,8 @@ PP(pp_rv2gv) /* If this is a 'my' scalar and flag is set then vivify * NI-S 1999/05/07 */ + if (SvREADONLY(sv)) + Perl_croak(aTHX_ PL_no_modify); if (PL_op->op_private & OPpDEREF) { char *name; GV *gv; diff --git a/t/io/open.t b/t/io/open.t index 5e1b5ec80d..e12b4475d1 100755 --- a/t/io/open.t +++ b/t/io/open.t @@ -12,7 +12,7 @@ use Config; $Is_VMS = $^O eq 'VMS'; $Is_MacOS = $^O eq 'MacOS'; -plan tests => 107; +plan tests => 108; my $Perl = which_perl(); @@ -315,3 +315,9 @@ fresh_perl_is( 'sub f { open(my $fh, "xxx"); $fh = "f"; } f; f;print "ok"', 'ok', { stderr => 1 }, '#29102: Crash on assignment to lexical filehandle'); + +# [perl #31767] Using $1 as a filehandle via open $1, "file" doesn't raise +# an exception + +eval { open $99, "foo" }; +like($@, qr/Modification of a read-only value attempted/, "readonly fh"); |