Branch Coverage

taint.c
Criterion Covered Total %
branch 39 78 50.0


line true false branch
44 144 40526 if (TAINT_get) {
47 143 1 if (!f)
49 144 0 if (PerlProc_getuid() != PerlProc_geteuid())
51 144 0 else if (PerlProc_getgid() != PerlProc_getegid())
53 139 5 else if (TAINT_WARN_get)
57 141 3 if (PL_unsafe || TAINT_WARN_get) {
5 136 if (PL_unsafe || TAINT_WARN_get) {
85 1 0 if (!PL_envgv)
89 1 0 if (!GvHV(PL_envgv) || !(SvRMAGICAL(GvHV(PL_envgv))
92 0 0 const char * const name = GvENAME(PL_envgv);
94 0 0 if (strEQ(name,"ENV"))
0 0 if (strEQ(name,"ENV"))
0 0 if (strEQ(name,"ENV"))
0 0 if (strEQ(name,"ENV"))
132 1 0 svp = hv_fetchs(GvHVn(PL_envgv),"PATH",FALSE);
133 1 0 if (svp && *svp) {
1 0 if (svp && *svp) {
134 1 0 if (SvTAINTED(*svp)) {
1 0 if (SvTAINTED(*svp)) {
138 1 0 if ((mg = mg_find(*svp, PERL_MAGIC_envelem)) && MgTAINTEDDIR(mg)) {
0 1 if ((mg = mg_find(*svp, PERL_MAGIC_envelem)) && MgTAINTEDDIR(mg)) {
146 1 0 svp = hv_fetchs(GvHVn(PL_envgv),"TERM",FALSE);
147 1 0 if (svp && *svp && SvTAINTED(*svp)) {
1 0 if (svp && *svp && SvTAINTED(*svp)) {
1 0 if (svp && *svp && SvTAINTED(*svp)) {
1 0 if (svp && *svp && SvTAINTED(*svp)) {
150 0 1 const char *t = SvPV_const(*svp, len);
157 1 0 if (t < e && isWORDCHAR(*t))
1 0 if (t < e && isWORDCHAR(*t))
159 14 1 while (t < e && (isWORDCHAR(*t) || strchr("-_.+", *t)))
13 1 while (t < e && (isWORDCHAR(*t) || strchr("-_.+", *t)))
1 0 while (t < e && (isWORDCHAR(*t) || strchr("-_.+", *t)))
161 0 1 if (t < e) {
168 4 1 for (e = misc_env; *e; e++) {
169 4 0 SV * const * const svp = hv_fetch(GvHVn(PL_envgv), *e, strlen(*e), FALSE);
170 0 4 if (svp && *svp != &PL_sv_undef && SvTAINTED(*svp)) {
0 0 if (svp && *svp != &PL_sv_undef && SvTAINTED(*svp)) {
0 0 if (svp && *svp != &PL_sv_undef && SvTAINTED(*svp)) {
0 0 if (svp && *svp != &PL_sv_undef && SvTAINTED(*svp)) {