summaryrefslogtreecommitdiff
path: root/doio.c
diff options
context:
space:
mode:
authorChip Salzenberg <chip@pobox.com>2011-08-14 07:57:06 -0700
committerChip Salzenberg <chip@pobox.com>2011-12-26 15:16:03 -0800
commitfd3c25b2de14d69947e2778960d0f68a799d832c (patch)
treec26ee71e7584d6e39e2689dbb106adf337a7cbdc /doio.c
parentda1dff9483c6c62608e52ee5f466381813d929ff (diff)
downloadperl-chip/magicflags3.tar.gz
Fix SV flags for magic values, v2chip/magicflags3
Diffstat (limited to 'doio.c')
-rw-r--r--doio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/doio.c b/doio.c
index 47b60ceb11..b1dac49675 100644
--- a/doio.c
+++ b/doio.c
@@ -743,6 +743,7 @@ Perl_nextargv(pTHX_ register GV *gv)
STRLEN oldlen;
sv = av_shift(GvAV(gv));
SAVEFREESV(sv);
+ SvTAINTED_off(GvSVn(gv)); /* previous tainting irrelevant */
sv_setsv(GvSVn(gv),sv);
SvSETMAGIC(GvSV(gv));
PL_oldname = SvPVx(GvSV(gv), oldlen);
@@ -2280,9 +2281,10 @@ Perl_do_shmio(pTHX_ I32 optype, SV **mark, SV **sp)
if (optype == OP_SHMREAD) {
char *mbuf;
/* suppress warning when reading into undef var (tchrist 3/Mar/00) */
+ SvGETMAGIC(mstr);
+ SvUPGRADE(mstr, SVt_PV);
if (! SvOK(mstr))
sv_setpvs(mstr, "");
- SvUPGRADE(mstr, SVt_PV);
SvPOK_only(mstr);
mbuf = SvGROW(mstr, (STRLEN)msize+1);