Change 19862 by [EMAIL PROTECTED] on 2003/06/27 07:39:58
Make doing_taint() always available (though not
part of the public API).
Affected files ...
... //depot/perl/embed.fnc#89 edit
... //depot/perl/embed.h#406 edit
... //depot/perl/perl.c#490 edit
... //depot/perl/proto.h#446 edit
Differences ...
==== //depot/perl/embed.fnc#89 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#88~19843~ Sun Jun 22 10:00:10 2003
+++ perl/embed.fnc Fri Jun 27 00:39:58 2003
@@ -45,6 +45,7 @@
Anod |int |perl_run |PerlInterpreter* interp
Anod |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \
|int argc|char** argv|char** env
+np |int |doing_taint |int argc|char** argv|char** env
#if defined(USE_ITHREADS)
Anod |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags
# if defined(PERL_IMPLICIT_SYS)
==== //depot/perl/embed.h#406 (text+w) ====
Index: perl/embed.h
--- perl/embed.h#405~19843~ Sun Jun 22 10:00:10 2003
+++ perl/embed.h Fri Jun 27 00:39:58 2003
@@ -29,6 +29,9 @@
#if defined(PERL_IMPLICIT_SYS)
#endif
+#ifdef PERL_CORE
+#define doing_taint Perl_doing_taint
+#endif
#if defined(USE_ITHREADS)
# if defined(PERL_IMPLICIT_SYS)
# endif
@@ -2530,6 +2533,9 @@
#else /* PERL_IMPLICIT_CONTEXT */
#if defined(PERL_IMPLICIT_SYS)
+#endif
+#ifdef PERL_CORE
+#define doing_taint Perl_doing_taint
#endif
#if defined(USE_ITHREADS)
# if defined(PERL_IMPLICIT_SYS)
==== //depot/perl/perl.c#490 (text) ====
Index: perl/perl.c
--- perl/perl.c#489~19861~ Thu Jun 26 22:30:03 2003
+++ perl/perl.c Fri Jun 27 00:39:58 2003
@@ -3327,8 +3327,9 @@
PL_tainting |= (PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
}
-#ifdef MYMALLOC
-/* This is used very early in the lifetime of the program. */
+/* This is used very early in the lifetime of the program,
+ * before even the options are parsed, so PL_tainting has
+ * not been initialized properly.*/
int
Perl_doing_taint(int argc, char *argv[], char *envp[])
{
@@ -3351,7 +3352,6 @@
return 1;
return 0;
}
-#endif
STATIC void
S_forbid_setid(pTHX_ char *s)
==== //depot/perl/proto.h#446 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#445~19843~ Sun Jun 22 10:00:10 2003
+++ perl/proto.h Fri Jun 27 00:39:58 2003
@@ -26,6 +26,7 @@
PERL_CALLCONV void perl_free(PerlInterpreter* interp);
PERL_CALLCONV int perl_run(PerlInterpreter* interp);
PERL_CALLCONV int perl_parse(PerlInterpreter* interp, XSINIT_t xsinit, int argc,
char** argv, char** env);
+PERL_CALLCONV int Perl_doing_taint(int argc, char** argv, char** env);
#if defined(USE_ITHREADS)
PERL_CALLCONV PerlInterpreter* perl_clone(PerlInterpreter* interp, UV flags);
# if defined(PERL_IMPLICIT_SYS)
End of Patch.