This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re: NETaa14816: tzname[] and SunOS - Here's a patch
[perl5.git] / taint.c
diff --git a/taint.c b/taint.c
index f2e1a53..6c64b39 100644 (file)
--- a/taint.c
+++ b/taint.c
@@ -50,16 +50,20 @@ taint_env()
     if (tainting) {
        MAGIC *mg = 0;
        svp = hv_fetch(GvHVn(envgv),"PATH",4,FALSE);
-       if (!svp || *svp == &sv_undef || (mg = mg_find(*svp, 't'))) {
-           tainted = 1;
+       if (!svp || *svp == &sv_undef ||
+         ((mg = mg_find(*svp, 't')) && mg->mg_len & 1))
+       {
+           tainted = TRUE;
            if (mg && MgTAINTEDDIR(mg))
                taint_proper("Insecure directory in %s%s", "$ENV{PATH}");
            else
                taint_proper("Insecure %s%s", "$ENV{PATH}");
        }
        svp = hv_fetch(GvHVn(envgv),"IFS",3,FALSE);
-       if (svp && *svp != &sv_undef && mg_find(*svp, 't')) {
-           tainted = 1;
+       if (svp && *svp != &sv_undef &&
+         (mg = mg_find(*svp, 't')) && mg->mg_len & 1)
+       {
+           tainted = TRUE;
            taint_proper("Insecure %s%s", "$ENV{IFS}");
        }
     }