remove redundant part of change#1169 superseded by change#2061;
[p5sagit/p5-mst-13.2.git] / taint.c
diff --git a/taint.c b/taint.c
index 05a1a44..e163eb4 100644 (file)
--- a/taint.c
+++ b/taint.c
@@ -17,6 +17,8 @@ taint_proper(const char *f, char *s)
             "%s %d %d %d\n", s, PL_tainted, PL_uid, PL_euid));
 
     if (PL_tainted) {
+       if (!f)
+           f = PL_no_security;
        if (PL_euid != PL_uid)
            ug = " while running setuid";
        else if (PL_egid != PL_gid)
@@ -44,7 +46,11 @@ taint_env(void)
        NULL
     };
 
+    if (!PL_envgv)
+       return;
+
 #ifdef VMS
+    {
     int i = 0;
     char name[10 + TYPE_DIGITS(int)] = "DCL$PATH";
 
@@ -66,6 +72,7 @@ taint_env(void)
        }
        i++;
     }
+  }
 #endif /* VMS */
 
     svp = hv_fetch(GvHVn(PL_envgv),"PATH",4,FALSE);
@@ -87,9 +94,10 @@ taint_env(void)
     svp = hv_fetch(GvHVn(PL_envgv),"TERM",4,FALSE);
     if (svp && *svp && SvTAINTED(*svp)) {
        dTHR;   /* just for taint */
+       STRLEN n_a;
        bool was_tainted = PL_tainted;
-       char *t = SvPV(*svp, PL_na);
-       char *e = t + PL_na;
+       char *t = SvPV(*svp, n_a);
+       char *e = t + n_a;
        PL_tainted = was_tainted;
        if (t < e && isALNUM(*t))
            t++;