X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/15367045db6522514a0a448ebd7e656888845a60..47d6f3d6640ee5a8c3c6670383171a78d34abbaa:/ext/PerlIO-scalar/scalar.xs diff --git a/ext/PerlIO-scalar/scalar.xs b/ext/PerlIO-scalar/scalar.xs index b6cc5c1..de98738 100644 --- a/ext/PerlIO-scalar/scalar.xs +++ b/ext/PerlIO-scalar/scalar.xs @@ -24,7 +24,8 @@ PerlIOScalar_pushed(pTHX_ PerlIO * f, const char *mode, SV * arg, */ if (arg && SvOK(arg)) { if (SvROK(arg)) { - if (SvREADONLY(SvRV(arg)) && mode && *mode != 'r') { + if (SvREADONLY(SvRV(arg)) && !SvIsCOW(SvRV(arg)) + && mode && *mode != 'r') { if (ckWARN(WARN_LAYER)) Perl_warner(aTHX_ packWARN(WARN_LAYER), "%s", PL_no_modify); SETERRNO(EINVAL, SS_IVCHAN);