summaryrefslogtreecommitdiff
path: root/pod/perlsec.pod
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-04-12 13:16:43 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2002-04-12 13:16:43 +0000
commit7f6513c1071003ae5bc4d38d5816fd7d293c6346 (patch)
tree4dfd194d4d1f27d33b873e5aab3b367243cee911 /pod/perlsec.pod
parentb3365ecb9239da20ce4e458d0c2b03e206f39ffa (diff)
downloadperl-7f6513c1071003ae5bc4d38d5816fd7d293c6346.tar.gz
Add a warning about the symbolic methods and
symbolic sub refs not being checked for taint. p4raw-id: //depot/perl@15875
Diffstat (limited to 'pod/perlsec.pod')
-rw-r--r--pod/perlsec.pod17
1 files changed, 17 insertions, 0 deletions
diff --git a/pod/perlsec.pod b/pod/perlsec.pod
index 53192cb3ca..8616c642d3 100644
--- a/pod/perlsec.pod
+++ b/pod/perlsec.pod
@@ -54,6 +54,23 @@ mechanism.
Arguments to C<print> and C<syswrite> are B<not> checked for taintedness.
+=item *
+
+Symbolic methods
+
+ $obj->$method(@args);
+
+and symbolic sub references
+
+ &{$foo}(@args);
+ $foo->(@args);
+
+are not checked for taintedness. This requires extra carefulness
+unless you want external data to affect your control flow. Unless
+you carefully limit what these symbolic values are, people are able
+to call functions B<outside> your Perl code, such as POSIX::system,
+in which case they are able to run arbitrary external code.
+
=back
The value of an expression containing tainted data will itself be