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-09-28 12:35:15 -0700
commit9e2dfd4eacd4fc62b9d83ad74afb0a68a9f0f562 (patch)
tree4a7c0b1a4e49188738b2c72623420beda7e839bc /doio.c
parent450a7a1bbac26c29f4d17e66c5c3387e73388838 (diff)
downloadperl-chip/magicflags2.tar.gz
Fix SV flags for magic values, v2chip/magicflags2
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 022b499f59..7b151f35d8 100644
--- a/doio.c
+++ b/doio.c
@@ -740,6 +740,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);
@@ -2273,9 +2274,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);