Branch Coverage

perl.c
Criterion Covered Total %
branch 261 1076 24.3


line true false branch
95 2017 0 if (!PL_curinterp) {
150 2017 0 if (!PL_veto_cleanup) {
236 0 2017 if (PL_perl_destruct_level > 0)
301 2017 0 if (PL_hash_seed_set == FALSE) {
334 0 2017 if (PL_clocktick <= 0)
344 2017 0 if (!PL_mmap_page_size) {
353 0 2017 if ((long) PL_mmap_page_size < 0) {
354 0 0 if (errno) {
0 0 if (errno) {
355 0 0 SV * const error = ERRSV;
357 0 0 Perl_croak(aTHX_ "panic: sysconf: %s", SvPV_nolen_const(error));
372 0 2017 if (PL_mmap_page_size <= 0)
556 2017 0 if (PL_exit_flags & PERL_EXIT_DESTRUCT_END) {
562 7 2010 if (PL_endav && !PL_minus_c) {
7 0 if (PL_endav && !PL_minus_c) {
569 0 2017 FREETMPS;
589 0 2017 if (PL_threadhook(aTHX)) {
757 2017 0 if (PL_main_root) {
759 2017 0 if (CvPADLIST(PL_main_cv)) {
796 0 2017 while (PL_exitlistlen-- > 0)
812 2017 0 if (environ != PL_origenviron && !PL_use_safe_putenv
2017 0 if (environ != PL_origenviron && !PL_use_safe_putenv
821 146169 2017 for (i = 0; environ[i]; i++)
832 2017 0 if (destruct_level == 0) {
871 0 0 if(PL_parser && PL_parser->rsfp) {
0 0 if(PL_parser && PL_parser->rsfp) {
876 0 0 if (PL_minus_F) {
899 0 0 if (PL_e_script) {
1003 0 0 for (i = 0; i < POSIX_SWASH_COUNT; i++) {
1023 0 0 for (i = 0; i < POSIX_CC_COUNT; i++) {
1034 0 0 if (!specialWARN(PL_compiling.cop_warnings))
0 0 if (!specialWARN(PL_compiling.cop_warnings))
1057 0 0 FREETMPS;
1058 0 0 if (destruct_level >= 2) {
1059 0 0 if (PL_scopestack_ix != 0)
1063 0 0 if (PL_savestack_ix != 0)
1067 0 0 if (PL_tmps_floor != -1)
1070 0 0 if (cxstack_ix != -1)
1090 0 0 while (sv_clean_all() > 2)
1106 0 0 for (i = 0; i < SV_CONSTS_COUNT; i++) {
1125 0 0 if (hent && ckWARN_d(WARN_INTERNAL)) {
0 0 if (hent && ckWARN_d(WARN_INTERNAL)) {
1133 0 0 if (!hent) {
1134 0 0 if (++riter > max)
1166 0 0 for (i=0; i<=2; i++) {
1174 0 0 if (PL_sv_count != 0 && ckWARN_d(WARN_INTERNAL))
0 0 if (PL_sv_count != 0 && ckWARN_d(WARN_INTERNAL))
1275 0 0 while (PL_regmatch_slab) {
1283 0 0 if (PL_mess_sv) {
1289 0 0 for (mg = SvMAGIC(PL_mess_sv); mg; mg = moremagic) {
1291 0 0 if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global
0 0 if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global
1292 0 0 && mg->mg_len >= 0)
1298 0 0 SvPV_free(PL_mess_sv);
0 0 SvPV_free(PL_mess_sv);
0 0 SvPV_free(PL_mess_sv);
0 0 SvPV_free(PL_mess_sv);
1321 2017 0 if (PL_veto_cleanup)
1399 0 0 Renew(PL_exitlist, PL_exitlistlen+1, PerlExitListEntry);
1409 2017 0 if (tmpgv) {
1463 2017 0 if (len > 0 && buf[len-1] == '\0') {
0 2017 if (len > 0 && buf[len-1] == '\0') {
1473 2017 0 if (len > 0 && memchr(buf, '/', len)) {
2017 0 if (len > 0 && memchr(buf, '/', len)) {
1518 0 0 while (seed < seed_end) {
1522 0 0 PerlIO_printf(Perl_debug_log, " PERTURB_KEYS = %d (%s)",
1524 0 0 PL_HASH_RAND_BITS_ENABLED == 0 ? "NO" : PL_HASH_RAND_BITS_ENABLED == 1 ? "RANDOM" : "DETERMINISTIC");
1533 0 2017 if (PL_origalen != 0) {
1561 2017 0 if (PL_origargv && PL_origargc >= 1 && (s = PL_origargv[0])) {
2017 0 if (PL_origargv && PL_origargc >= 1 && (s = PL_origargv[0])) {
2017 0 if (PL_origargv && PL_origargc >= 1 && (s = PL_origargv[0])) {
1562 85920 2017 while (*s) s++;
1563 13391 2017 for (i = 1; i < PL_origargc; i++) {
1564 0 13391 if ((PL_origargv[i] == s + 1
1569 0 0 ||
1570 0 0 (aligned &&
1571 0 0 (PL_origargv[i] > s &&
1577 177386 13391 while (*s) s++;
1586 2017 0 if (s && PL_origenviron && !PL_use_safe_putenv) {
2017 0 if (s && PL_origenviron && !PL_use_safe_putenv) {
2017 0 if (s && PL_origenviron && !PL_use_safe_putenv) {
1587 0 2017 if ((PL_origenviron[0] == s + 1)
1588 0 0 ||
1589 0 0 (aligned &&
1590 0 0 (PL_origenviron[0] > s &&
1597 86154 2017 while (*s) s++;
1601 143638 2017 for (i = 1; PL_origenviron[i]; i++) {
1602 0 143638 if (PL_origenviron[i] == s + 1
1603 0 0 ||
1604 0 0 (aligned &&
1605 0 0 (PL_origenviron[i] > s &&
1611 12798716 143638 while (*s) s++;
1620 2017 0 PL_origalen = s ? s - PL_origargv[0] + 1 : 0;
1623 0 2017 if (PL_do_undump) {
1639 0 2017 if (PL_main_root) {
1655 0 2017 if (PL_unitcheckav) {
1658 0 2017 if (PL_checkav) {
1669 0 0 while (PL_scopestack_ix > oldscope)
1671 0 0 FREETMPS;
1672 0 0 SET_CURSTASH(PL_defstash);
1673 0 0 if (PL_unitcheckav) {
1676 0 0 if (PL_checkav) {
1683 0 0 PerlIO_printf(Perl_error_log, "panic: top_env\n");
0 0 PerlIO_printf(Perl_error_log, "panic: top_env\n");
0 0 PerlIO_printf(Perl_error_log, "panic: top_env\n");
0 0 PerlIO_printf(Perl_error_log, "panic: top_env\n");
1698 0 0 {
1878 7137 205 for (argc--,argv++; argc > 0; argc--,argv++) {
1879 6342 795 if (argv[0][0] != '-' || !argv[0][1])
6342 0 if (argv[0][0] != '-' || !argv[0][1])
1909 1224 0 if ((s = moreswitches(s)))
1921 0 0 if( !TAINTING_get ) {
1947 1223 0 if (!PL_e_script) {
1951 0 1223 if (*++s)
1953 1223 0 else if (argv[1]) {
1971 0 3027 if (!*++s && (s=argv[1]) != NULL) {
0 0 if (!*++s && (s=argv[1]) != NULL) {
1974 3027 0 if (s && *s) {
3027 0 if (s && *s) {
1990 0 0 if (*++s != ':') {
2008 0 0 if (*s)
2014 0 1017 if (!*++s || isSPACE(*s)) {
0 0 if (!*++s || isSPACE(*s)) {
2020 0 0 if (strEQ(s, "version"))
2022 0 0 if (strEQ(s, "help"))
2037 2017 0 if (
2039 0 2017 !TAINTING_get &&
2043 0 0 while (isSPACE(*s))
2045 0 0 if (*s == '-' && *(s+1) == 'T') {
0 0 if (*s == '-' && *(s+1) == 'T') {
2059 0 0 while (s && *s) {
0 0 while (s && *s) {
2061 0 0 while (isSPACE(*s))
2063 0 0 if (*s == '-') {
2065 0 0 if (isSPACE(*s))
2069 0 0 if (!*s)
2071 0 0 if (!strchr("CDIMUdmtwW", *s))
2073 0 0 while (++s && *s) {
0 0 while (++s && *s) {
2074 0 0 if (isSPACE(*s)) {
2075 0 0 if (!popt_copy) {
2084 0 0 if (*d == 't') {
2091 0 0 if( !TAINTING_get) {
2112 2016 1 if (!minus_f) {
2119 2016 0 SV **const inc0 = inc ? av_fetch(inc, 0, FALSE) : NULL;
2121 1866 150 if (inc0) {
2150 2017 0 if (!scriptname)
2152 1223 794 if (PL_e_script) {
2156 0 794 else if (scriptname == NULL) {
2171 0 2017 if (!rsfp) {
2185 0 2017 if (sigstate == (Sighandler_t) SIG_IGN) {
2194 0 2017 if (doextract) {
2204 0 0 if (cddir && PerlDir_chdir( (char *)cddir ) < 0)
0 0 if (cddir && PerlDir_chdir( (char *)cddir ) < 0)
2221 2017 0 if (xsinit)
2241 2017 0 if (!PL_do_undump)
2294 0 2017 if ((s = PerlEnv_getenv("PERL_SIGNALS"))) {
2295 0 0 if (strEQ(s, "unsafe"))
2297 0 0 else if (strEQ(s, "safe"))
2336 1223 794 if (add_read_e_script)
2342 2017 0 if (yyparse(GRAMPROG) || PL_parser->error_count) {
0 2017 if (yyparse(GRAMPROG) || PL_parser->error_count) {
2343 0 0 if (PL_minus_c)
2351 0 2017 SET_CURSTASH(PL_defstash);
2352 1223 794 if (PL_e_script) {
2357 0 2017 if (PL_do_undump)
2360 1860 157 if (isWARN_ONCE) {
2367 2017 0 FREETMPS;
2419 69 2017 while (PL_scopestack_ix > oldscope)
2421 1787 230 FREETMPS;
2422 0 2017 SET_CURSTASH(PL_defstash);
2423 0 2017 if (!(PL_exit_flags & PERL_EXIT_DESTRUCT_END) &&
0 0 if (!(PL_exit_flags & PERL_EXIT_DESTRUCT_END) &&
2424 0 0 PL_endav && !PL_minus_c) {
2435 1066 0 if (PL_restartop) {
2436 0 0 POPSTACK_TO(PL_mainstack);
1066 0 POPSTACK_TO(PL_mainstack);
2439 0 0 PerlIO_printf(Perl_error_log, "panic: restartop in perl_run\n");
0 0 PerlIO_printf(Perl_error_log, "panic: restartop in perl_run\n");
0 0 PerlIO_printf(Perl_error_log, "panic: restartop in perl_run\n");
0 0 PerlIO_printf(Perl_error_log, "panic: restartop in perl_run\n");
2440 0 0 FREETMPS;
2457 2017 1066 if (!PL_restartop) {
2471 0 2017 if (PL_minus_c) {
2472 0 0 PerlIO_printf(Perl_error_log, "%s syntax OK\n", PL_origfilename);
0 0 PerlIO_printf(Perl_error_log, "%s syntax OK\n", PL_origfilename);
0 0 PerlIO_printf(Perl_error_log, "%s syntax OK\n", PL_origfilename);
0 0 PerlIO_printf(Perl_error_log, "%s syntax OK\n", PL_origfilename);
2475 0 2017 if (PERLDB_SINGLE && PL_DBsingle)
0 0 if (PERLDB_SINGLE && PL_DBsingle)
0 0 if (PERLDB_SINGLE && PL_DBsingle)
2477 0 2017 if (PL_initav) {
2491 1066 2017 if (PL_restartop) {
2497 2017 0 else if (PL_main_start) {
2527 52909 0 if (gv)
2555 0 0 if (flags)
2556 0 0 return GvAVn(gv);
2557 0 0 if (gv)
2582 2017 9749 if (flags)
2583 2017 0 return GvHVn(gv);
2584 9749 0 if (gv)
2617 0 2088 if ((flags & ~GV_NOADD_MASK) && !GvCVu(gv)) {
0 0 if ((flags & ~GV_NOADD_MASK) && !GvCVu(gv)) {
0 0 if ((flags & ~GV_NOADD_MASK) && !GvCVu(gv)) {
2620 1984 104 if (gv)
2621 1984 0 return GvCVu(gv);
2662 0 0 PUSHMARK(SP);
2663 0 0 if (argv) {
2664 0 0 while (*argv) {
2665 0 0 mXPUSHs(newSVpv(*argv,0));
2712 0 0 : newSVpvn_flags(methname, len, SVs_TEMP);
2730 0 1808560 {
2745 563773 1244787 if (flags & G_DISCARD) {
2749 152 1808408 if (!(flags & G_WANT)) {
2756 1808560 0 if (!(flags & G_NOARGS))
2763 565729 1242831 if (!(flags & G_METHOD_NAMED))
2768 0 1808560 if (PERLDB_SUB && PL_curstash != PL_debstash
0 0 if (PERLDB_SUB && PL_curstash != PL_debstash
0 0 if (PERLDB_SUB && PL_curstash != PL_debstash
2770 0 0 && (PL_DBcv || (PL_DBcv = GvCV(PL_DBsub)))
0 0 && (PL_DBcv || (PL_DBcv = GvCV(PL_DBsub)))
2773 0 0 && (SvTYPE(sv) != SVt_PVCV || CvSTASH((const CV *)sv) != PL_debstash)
0 0 && (SvTYPE(sv) != SVt_PVCV || CvSTASH((const CV *)sv) != PL_debstash)
2774 0 0 && !(flags & G_NODEBUG))
2777 1242831 565729 if (flags & (G_METHOD|G_METHOD_NAMED)) {
2778 1242831 0 if ( flags & G_METHOD_NAMED ) {
2797 1244940 563620 if (!(flags & G_EVAL)) {
2799 2109 1242831 CALL_BODY_SUB((OP*)&myop);
1244940 0 CALL_BODY_SUB((OP*)&myop);
2814 563620 4594 CALL_BODY_SUB((OP*)&myop);
568214 0 CALL_BODY_SUB((OP*)&myop);
2816 161889 401305 if (!(flags & G_KEEPERR)) {
2817 0 161889 CLEAR_ERRSV();
0 161889 CLEAR_ERRSV();
0 161889 CLEAR_ERRSV();
2825 0 0 SET_CURSTASH(PL_defstash);
2826 0 0 FREETMPS;
2831 4594 426 if (PL_restartop) {
2838 0 426 if ((flags & G_WANT) == G_ARRAY)
2847 563194 426 if (PL_scopestack_ix > oldscope)
2852 563772 1244786 if (flags & G_DISCARD) {
2855 96712 467060 FREETMPS;
2877 0 0 {
2889 0 0 if (flags & G_DISCARD) {
2900 0 0 if (!(flags & G_NOARGS))
2904 0 0 if (flags & G_KEEPERR)
2907 0 0 if (flags & G_RE_REPARSING)
2912 0 0 TAINT_PROPER("eval_sv()");
2918 0 0 if (PL_op == (OP*)(&myop)) {
2920 0 0 if (!PL_op)
2925 0 0 if (!(flags & G_KEEPERR)) {
2926 0 0 CLEAR_ERRSV();
0 0 CLEAR_ERRSV();
0 0 CLEAR_ERRSV();
2934 0 0 SET_CURSTASH(PL_defstash);
2935 0 0 FREETMPS;
2940 0 0 if (PL_restartop) {
2948 0 0 if ((flags & G_WANT) == G_ARRAY)
2958 0 0 if (flags & G_DISCARD) {
2961 0 0 FREETMPS;
2994 0 0 if (croak_on_error) {
2995 0 0 SV * const errsv = ERRSV;
2996 0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
0 0 if(SvTRUE_NN(errsv))
2998 0 0 Perl_croak_nocontext("%s", SvPV_nolen_const(errsv));
3026 0 0 PUSHSTACKi(PERLSI_REQUIRE);
3031 0 0 POPSTACK;
3081 0 0 while (*p)
3174 0 0 if (s[1] == 'x' && s[2]) {
0 0 if (s[1] == 'x' && s[2]) {
3178 0 0 while (*e)
3183 0 0 if (s + numlen < e) {
3189 0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
0 0 SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
3192 0 0 SvCUR_set(PL_rs, UNISKIP(rschar));
0 0 SvCUR_set(PL_rs, UNISKIP(rschar));
0 0 SvCUR_set(PL_rs, UNISKIP(rschar));
0 0 SvCUR_set(PL_rs, UNISKIP(rschar));
0 0 SvCUR_set(PL_rs, UNISKIP(rschar));
0 0 SvCUR_set(PL_rs, UNISKIP(rschar));
0 0 SvCUR_set(PL_rs, UNISKIP(rschar));
3198 0 0 if (rschar & ~((U8)~0))
3200 0 0 else if (!rschar && numlen >= 2)
0 0 else if (!rschar && numlen >= 2)
3213 0 0 if (PL_unicode & PERL_UNICODE_UTF8CACHEASSERT_FLAG)
3221 0 0 while (*s && !isSPACE(*s)) ++s;
0 0 while (*s && !isSPACE(*s)) ++s;
3238 0 0 if (*s == 't' && !isWORDCHAR(s[1])) {
0 0 if (*s == 't' && !isWORDCHAR(s[1])) {
3245 0 0 if (*s == ':' || *s == '=') {
3250 0 0 if (*++s == '-') {
3261 0 0 while(isWORDCHAR(*s) || *s==':') ++s;
0 0 while(isWORDCHAR(*s) || *s==':') ++s;
3262 0 0 if (*s != '=')
3271 0 0 my_setenv("PERL5DB", SvPV_nolen_const(sv));
3274 0 0 if (!PL_perldb) {
3286 0 0 if (ckWARN_d(WARN_DEBUGGING))
3289 0 0 for (s++; isWORDCHAR(*s); s++) ;
3305 0 0 while (*s && !isSPACE(*s))
0 0 while (*s && !isSPACE(*s))
3310 0 0 if (*s) {
3312 0 0 if (*s == '-') /* Additional switches on #! line. */
3319 0 0 while (*s && isSPACE(*s))
0 0 while (*s && isSPACE(*s))
3321 0 0 if (*s) {
3326 0 0 for (e = p; *e && !isSPACE(*e); e++) ;
0 0 for (e = p; *e && !isSPACE(*e); e++) ;
3328 0 0 while (isSPACE(*p))
3330 0 0 } while (*p && *p != '-');
3334 0 0 if (*s == '-')
3343 0 150 if (PL_ors_sv) {
3347 0 150 if (isDIGIT(*s)) {
3351 0 0 numlen = 3 + (*s == '0');
3356 150 0 if (RsPARA(PL_rs)) {
0 150 if (RsPARA(PL_rs)) {
3369 1073 0 if (*++s) {
3378 0 1073 if (*s == '-') { use = " no "; ++s; }
3382 16255 2145 while(isWORDCHAR(*s) || *s==':') {
1072 1073 while(isWORDCHAR(*s) || *s==':') {
3383 1072 16255 if( *s++ == ':' ) {
3384 1072 0 if( *s == ':' )
3390 0 1073 if (s == start)
3393 0 1073 if (colon)
3398 1073 0 if (*s != '=') {
3400 0 1073 if (option == 'm') {
3401 0 0 if (*s != '\0')
3440 0 0 if (!TAINTING_get)
3456 13 0 if (! (PL_dowarn & G_WARN_ALL_MASK)) {
3463 0 0 if (!specialWARN(PL_compiling.cop_warnings))
0 0 if (!specialWARN(PL_compiling.cop_warnings))
3470 0 0 if (!specialWARN(PL_compiling.cop_warnings))
0 0 if (!specialWARN(PL_compiling.cop_warnings))
3477 0 0 while( *s == ' ' )
3479 0 0 if (s[0] == '-') /* Additional switches on #! line. */
3513 0 0 if (!sv_derived_from(PL_patchlevel, "version"))
3526 0 0 num_str = SvPV(num, num_len);
3527 0 0 level_str = SvPV(level, level_len);
3528 0 0 if (num_len>=level_len && strnEQ(num_str,level_str,level_len)) {
0 0 if (num_len>=level_len && strnEQ(num_str,level_str,level_len)) {
3698 2017 0 SvREFCNT_inc_simple_void(PL_incgv); /* Don't allow it to be freed */
3703 2017 0 SvREFCNT_inc_simple_void(PL_defgv);
3705 2017 0 SvREFCNT_inc_simple_void(PL_errgv);
3713 2017 0 sv_grow(ERRSV, 240); /* Preallocate - for immediate signals. */
3714 0 2017 CLEAR_ERRSV();
0 2017 CLEAR_ERRSV();
0 2017 CLEAR_ERRSV();
3715 0 2017 SET_CURSTASH(PL_defstash);
3734 1223 794 if (PL_e_script) {
3741 0 794 if (strnEQ(scriptname, "/dev/fd/", 8) && isDIGIT(scriptname[8]) ) {
0 0 if (strnEQ(scriptname, "/dev/fd/", 8) && isDIGIT(scriptname[8]) ) {
3744 0 0 while (isDIGIT(*s))
3746 0 0 if (*s) {
3761 0 0 if (*s != '/') {
3764 0 0 if (! *(s+1)) {
3776 1223 794 if (*PL_origfilename == '-' && PL_origfilename[1] == '\0')
0 1223 if (*PL_origfilename == '-' && PL_origfilename[1] == '\0')
3778 0 2017 if (fdscript >= 0) {
3781 0 2017 else if (!*scriptname) {
3828 0 2017 if (!rsfp) {
3830 0 0 if (PL_e_script)
3833 0 0 Perl_croak(aTHX_ "Can't open perl script \"%s\": %s\n",
3841 2017 0 if (PerlLIO_fstat(PerlIO_fileno(rsfp), &tmpstatbuf) >= 0
3842 0 2017 && S_ISDIR(tmpstatbuf.st_mode))
3843 0 0 Perl_croak(aTHX_ "Can't open perl script \"%s\": %s\n",
3871 0 2017 if (my_euid != my_uid || my_egid != my_gid) { /* (suidperl doesn't exist, in fact) */
3875 0 0 if ((my_euid != my_uid && my_euid == PL_statbuf.st_uid && PL_statbuf.st_mode & S_ISUID)
0 0 if ((my_euid != my_uid && my_euid == PL_statbuf.st_uid && PL_statbuf.st_mode & S_ISUID)
0 0 if ((my_euid != my_uid && my_euid == PL_statbuf.st_uid && PL_statbuf.st_mode & S_ISUID)
3876 0 0 ||
3877 0 0 (my_egid != my_gid && my_egid == PL_statbuf.st_gid && PL_statbuf.st_mode & S_ISGID)
0 0 (my_egid != my_gid && my_egid == PL_statbuf.st_gid && PL_statbuf.st_mode & S_ISGID)
3879 0 0 if (!PL_do_undump)
3899 0 0 if ((s = sv_gets(linestr_sv, rsfp, 0)) == NULL)
3902 0 0 } while (!(*s == '#' && s[1] == '!' && ((s = instr(s,"perl")) || (s = instr(s2,"PERL")))));
0 0 } while (!(*s == '#' && s[1] == '!' && ((s = instr(s,"perl")) || (s = instr(s2,"PERL")))));
0 0 } while (!(*s == '#' && s[1] == '!' && ((s = instr(s,"perl")) || (s = instr(s2,"PERL")))));
0 0 } while (!(*s == '#' && s[1] == '!' && ((s = instr(s,"perl")) || (s = instr(s2,"PERL")))));
3904 0 0 while (*s && !(isSPACE (*s) || *s == '#')) s++;
0 0 while (*s && !(isSPACE (*s) || *s == '#')) s++;
0 0 while (*s && !(isSPACE (*s) || *s == '#')) s++;
3906 0 0 while (*s == ' ' || *s == '\t') s++;
3907 0 0 if (*s++ == '-') {
3908 0 0 while (isDIGIT(s2[-1]) || s2[-1] == '-' || s2[-1] == '.'
0 0 while (isDIGIT(s2[-1]) || s2[-1] == '-' || s2[-1] == '.'
0 0 while (isDIGIT(s2[-1]) || s2[-1] == '-' || s2[-1] == '.'
3909 0 0 || s2[-1] == '_') s2--;
3910 0 0 if (strnEQ(s2-4,"perl",4))
3911 0 0 while ((s = moreswitches(s)))
3931 2017 0 TAINTING_set( TAINTING_get | (my_uid && (my_euid != my_uid || my_egid != my_gid)) );
2017 0 TAINTING_set( TAINTING_get | (my_uid && (my_euid != my_uid || my_egid != my_gid)) );
3969 0 0 if (uid && (euid != uid || egid != gid))
0 0 if (uid && (euid != uid || egid != gid))
3975 0 0 if ( argc > 1 && argv[1][0] == '-'
0 0 if ( argc > 1 && argv[1][0] == '-'
3976 0 0 && (argv[1][1] == 't' || argv[1][1] == 'T') )
3992 6396 0 if (flag) {
4003 0 6396 if (suidscript)
4014 1189 0 if (AvREAL(args)) {
4019 0 1189 if (SvTIED_mg((const SV *)args, PERL_MAGIC_tied))
0 0 if (SvTIED_mg((const SV *)args, PERL_MAGIC_tied))
4038 0 0 if (!SvIOK(PL_DBsingle))
4041 0 0 if (!SvIOK(PL_DBtrace))
4044 0 0 if (!SvIOK(PL_DBsignal))
4100 0 0 while (PL_curstackinfo->si_next)
4102 0 0 while (PL_curstackinfo) {
4122 2017 0 AV *const isa = GvAVn(gv);
4127 2017 0 if(AvFILLp(isa) != -1)
4134 4034 4034 const char *const parent = va_arg(args, const char*);
4137 6051 2017 if (!parent)
4139 4034 2017 parent_len = va_arg(args, size_t);
4221 0 2017 if (PL_doswitches) {
4222 0 0 for (; argc > 0 && **argv == '-'; argc--,argv++) {
0 0 for (; argc > 0 && **argv == '-'; argc--,argv++) {
4224 0 0 if (!argv[0][1])
4226 0 0 if (argv[0][1] == '-' && !argv[0][2]) {
0 0 if (argv[0][1] == '-' && !argv[0][2]) {
4230 0 0 if ((s = strchr(argv[0], '='))) {
4239 2017 0 if ((PL_argvgv = gv_fetchpvs("ARGV", GV_ADD|GV_NOTQUAL, SVt_PVAV))) {
4242 2017 0 av_clear(GvAVn(PL_argvgv));
4243 5032 2017 for (; argc > 0; argc--,argv++) {
4245 5032 0 av_push(GvAVn(PL_argvgv),sv);
4246 0 5032 if (!(PL_unicode & PERL_UNICODE_LOCALE_FLAG) || PL_utf8locale) {
0 0 if (!(PL_unicode & PERL_UNICODE_LOCALE_FLAG) || PL_utf8locale) {
4247 0 5032 if (PL_unicode & PERL_UNICODE_ARGV_FLAG)
4250 0 5032 if (PL_unicode & PERL_UNICODE_WIDESYSCALLS_FLAG) /* Sarathy? */
4255 0 2017 if (PL_inplace && (!PL_argvgv || AvFILL(GvAV(PL_argvgv)) == -1))
0 0 if (PL_inplace && (!PL_argvgv || AvFILL(GvAV(PL_argvgv)) == -1))
0 0 if (PL_inplace && (!PL_argvgv || AvFILL(GvAV(PL_argvgv)) == -1))
0 0 if (PL_inplace && (!PL_argvgv || AvFILL(GvAV(PL_argvgv)) == -1))
0 0 if (PL_inplace && (!PL_argvgv || AvFILL(GvAV(PL_argvgv)) == -1))
4279 2017 0 if ((tmpgv = gv_fetchpvs("0", GV_ADD|GV_NOTQUAL, SVt_PV))) {
4282 2017 0 if ((PL_envgv = gv_fetchpvs("ENV", GV_ADD|GV_NOTQUAL, SVt_PVHV))) {
4286 2017 0 hv = GvHVn(PL_envgv);
4295 2017 0 if (!env)
4298 0 2017 if (env_is_not_environ
4306 2017 0 if (env) {
4309 145655 2017 for (; *env; env++) {
4312 145655 0 if (!(s = strchr(old_var,'=')) || s == old_var)
0 145655 if (!(s = strchr(old_var,'=')) || s == old_var)
4322 0 145655 if (env_is_not_environ)
4332 0 2017 if (PL_minus_a) {
4349 2017 0 if (!TAINTING_get) {
4360 0 2017 if (perl5lib)
4365 0 2017 if (s)
4522 2017 0 if (!TAINTING_get)
4597 0 5044 if (canrelocate) {
4617 0 0 if (libpath_len >= 4 && memEQ (libpath, ".../", 4)) {
0 0 if (libpath_len >= 4 && memEQ (libpath, ".../", 4)) {
4653 0 0 if (lastslash) {
4655 0 0 while ((*lastslash = '\0'), /* Do that, come what may. */
0 0 while ((*lastslash = '\0'), /* Do that, come what may. */
4656 0 0 (libpath_len >= 3 && memEQ(libpath, "../", 3)
4657 0 0 && (lastslash = strrchr(prefix, '/')))) {
4658 0 0 if (lastslash[1] == '\0'
4659 0 0 || (lastslash[1] == '.'
4660 0 0 && (lastslash[2] == '/' /* ends "/." */
4661 0 0 || (lastslash[2] == '/'
4662 0 0 && lastslash[3] == '/' /* or "/.." */
4685 0 0 (PerlProc_getuid() != PerlProc_geteuid() ||
4688 0 0 SvTAINTED_on(libdir);
4716 5044 0 AV *const inc = GvAVn(PL_incgv);
4779 0 5044 if (unshift) {
4786 0 0 if (push_basedir)
4805 5044 0 else if (push_basedir) {
4809 0 5044 if (!push_basedir) {
4833 0 0 if (!len)
4840 0 0 while ((s = (const char*)memchr(p, PERLLIB_SEP, end - p))) {
4841 0 0 if (s == p) {
4852 0 0 if (p != end)
4862 211071 0 volatile const line_t oldline = PL_curcop ? CopLINE(PL_curcop) : 0;
4870 162315 210645 while (av_len(paramList) >= 0) {
4872 0 162315 if (PL_savebegin) {
4873 0 0 if (paramList == PL_beginav) {
4877 0 0 else if (paramList == PL_checkav) {
4881 0 0 else if (paramList == PL_unitcheckav) {
4896 0 162315 CALL_LIST_BODY(cv);
4901 162315 0 atsv = ERRSV;
4902 162315 0 (void)SvPV_const(atsv, len);
4903 426 161889 if (len) {
4906 426 0 if (paramList == PL_beginav)
4909 0 0 Perl_sv_catpvf(aTHX_ atsv,
4913 0 0 : paramList == PL_unitcheckav ? "UNITCHECK"
4914 0 0 : "END");
4915 426 426 while (PL_scopestack_ix > oldscope)
4926 0 0 while (PL_scopestack_ix > oldscope)
4928 0 0 FREETMPS;
4929 0 0 SET_CURSTASH(PL_defstash);
4936 0 0 if (PL_restartop) {
4939 0 0 JMPENV_JUMP(3);
4941 0 0 PerlIO_printf(Perl_error_log, "panic: restartop in call_list\n");
0 0 PerlIO_printf(Perl_error_log, "panic: restartop in call_list\n");
0 0 PerlIO_printf(Perl_error_log, "panic: restartop in call_list\n");
0 0 PerlIO_printf(Perl_error_log, "panic: restartop in call_list\n");
4942 0 0 FREETMPS;
4953 0 2017 if (PL_exit_flags & PERL_EXIT_ABORT) {
4956 0 2017 if (PL_exit_flags & PERL_EXIT_WARN) {
4969 0 0 STATUS_EXIT_SET(status);
5048 0 0 if (errno & 255)
5049 0 0 STATUS_UNIX_SET(errno);
5052 0 0 if (exitstatus & 255)
5053 0 0 STATUS_UNIX_SET(exitstatus);
5055 0 0 STATUS_UNIX_SET(255);
5058 0 0 if (PL_exit_flags & PERL_EXIT_ABORT) {
5061 0 0 if (PL_exit_flags & PERL_EXIT_WARN) {
5074 0 2017 if (PL_e_script) {
5079 0 0 POPSTACK_TO(PL_mainstack);
0 2017 POPSTACK_TO(PL_mainstack);
5081 66 1951 LEAVE_SCOPE(0);
5083 2017 0 JMPENV_JUMP(2);
5096 1223 1223 nl = (nl) ? nl+1 : SvEND(PL_e_script);
5097 1223 1223 if (nl-p == 0) {