summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2005-07-11 14:29:37 +0100
committerSteve Hay <SteveHay@planit.com>2005-07-12 13:19:51 +0000
commitd419787aba7043c27741cb1497c553fcd3241d02 (patch)
tree7a4c4489c29884f867d6112f194b34f34181a7f1 /sv.c
parent1ef594674c6d3ce517bc3c014da975c47316ef0b (diff)
downloadperl-d419787aba7043c27741cb1497c553fcd3241d02.tar.gz
Re: Scalar leaked in 'local $0' under ithreads + taint mode
Message-ID: <42D26631.1070500@uk.radan.com> p4raw-id: //depot/perl@25123
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sv.c b/sv.c
index 3d17b1d706..4e25290153 100644
--- a/sv.c
+++ b/sv.c
@@ -11373,6 +11373,10 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
param->stashes = newAV(); /* Setup array of objects to call clone on */
+ /* Set tainting stuff before PerlIO_debug can possibly get called */
+ PL_tainting = proto_perl->Itainting;
+ PL_taint_warn = proto_perl->Itaint_warn;
+
#ifdef PERLIO_LAYERS
/* Clone PerlIO tables as soon as we can handle general xx_dup() */
PerlIO_clone(aTHX_ proto_perl, param);
@@ -11494,8 +11498,6 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
PL_fdpid = av_dup_inc(proto_perl->Ifdpid, param);
/* internal state */
- PL_tainting = proto_perl->Itainting;
- PL_taint_warn = proto_perl->Itaint_warn;
PL_maxo = proto_perl->Imaxo;
if (proto_perl->Iop_mask)
PL_op_mask = SAVEPVN(proto_perl->Iop_mask, PL_maxo);