*/
/*
- * "...we will have peace, when you and all your works have perished--and
- * the works of your dark master to whom you would deliver us. You are a
- * liar, Saruman, and a corrupter of men's hearts." --Theoden
+ * '...we will have peace, when you and all your works have perished--and
+ * the works of your dark master to whom you would deliver us. You are a
+ * liar, Saruman, and a corrupter of men's hearts.' --Théoden
+ *
+ * [p.580 of _The Lord of the Rings_, III/x: "The Voice of Saruman"]
*/
/* This file contains a few functions for handling data tainting in Perl
# if Uid_t_size == 1
{
- const UV uid = PL_uid;
- const UV euid = PL_euid;
+ const UV uid = PerlProc_getuid();
+ const UV euid = PerlProc_geteuid();
DEBUG_u(PerlIO_printf(Perl_debug_log,
"%s %d %"UVuf" %"UVuf"\n",
}
# else
{
- const IV uid = PL_uid;
- const IV euid = PL_euid;
+ const IV uid = PerlProc_getuid();
+ const IV euid = PerlProc_geteuid();
DEBUG_u(PerlIO_printf(Perl_debug_log,
"%s %d %"IVdf" %"IVdf"\n",
if (!f)
f = PL_no_security;
- if (PL_euid != PL_uid)
+ if (PerlProc_getuid() != PerlProc_geteuid())
ug = " while running setuid";
- else if (PL_egid != PL_gid)
+ else if (PerlProc_getgid() != PerlProc_getegid())
ug = " while running setgid";
else if (PL_taint_warn)
ug = " while running with -t switch";
else
ug = " while running with -T switch";
if (PL_unsafe || PL_taint_warn) {
- if(ckWARN_d(WARN_TAINT))
- Perl_warner(aTHX_ packWARN(WARN_TAINT), f, s, ug);
+ Perl_ck_warner_d(aTHX_ packWARN(WARN_TAINT), f, s, ug);
}
else {
Perl_croak(aTHX_ f, s, ug);
/* If there's no %ENV hash of if it's not magical, croak, because
* it probably doesn't reflect the actual environment */
if (!GvHV(PL_envgv) || !(SvRMAGICAL(GvHV(PL_envgv))
- && mg_find((SV*)GvHV(PL_envgv), PERL_MAGIC_env))) {
+ && mg_find((const SV *)GvHV(PL_envgv), PERL_MAGIC_env))) {
const bool was_tainted = PL_tainted;
const char * const name = GvENAME(PL_envgv);
PL_tainted = TRUE;