summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-04-24 12:54:23 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-04-24 12:54:23 +0000
commit584d69ecacb20b96dc9bbccb7464e6a7da6d9acd (patch)
treeccd7d8113d69ac6004c94ea5be1aa40fe275ce2e
parent3fdcd4b12b8f00f498a2bcce1dae70770c8545c8 (diff)
downloadperl-584d69ecacb20b96dc9bbccb7464e6a7da6d9acd.tar.gz
Prevent path disclosure (probing for existence of filenames)
using suidperl; bug id 20010322.218. p4raw-id: //depot/perl@9813
-rw-r--r--perl.c6
-rw-r--r--pod/perldiag.pod2
2 files changed, 7 insertions, 1 deletions
diff --git a/perl.c b/perl.c
index 834dc46676..4a423dcbb7 100644
--- a/perl.c
+++ b/perl.c
@@ -2718,8 +2718,14 @@ sed %s -e \"/^[^#]/b\" \
}
#endif
#endif
+#ifdef IAMSUID
+ errno = EPERM;
+ Perl_croak(aTHX_ "Can't open perl script: %s\n",
+ Strerror(errno));
+#else
Perl_croak(aTHX_ "Can't open perl script \"%s\": %s\n",
CopFILE(PL_curcop), Strerror(errno));
+#endif
}
}
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 307f22d195..98b25807e9 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -868,7 +868,7 @@ the command line for writing.
redirection, and couldn't open the pipe into which to send data destined
for stdout.
-=item Can't open perl script "%s": %s
+=item Can't open perl script%s: %s
(F) The script you specified can't be opened for the indicated reason.