aboutsummaryrefslogtreecommitdiff
path: root/lang/perl5.16
diff options
context:
space:
mode:
authorAnton Berezin <tobez@FreeBSD.org>2005-02-02 15:58:07 +0000
committerAnton Berezin <tobez@FreeBSD.org>2005-02-02 15:58:07 +0000
commitca40fd69eb679c21aecb52b101341b981401bcc6 (patch)
treebbafa9f668e980654a08861fc0d6308d40236b90 /lang/perl5.16
parent46e506df32234eed86b71bfc7c61aa1efd3a4a69 (diff)
downloadports-ca40fd69eb679c21aecb52b101341b981401bcc6.tar.gz
ports-ca40fd69eb679c21aecb52b101341b981401bcc6.zip
Notes
Diffstat (limited to 'lang/perl5.16')
-rw-r--r--lang/perl5.16/Makefile2
-rw-r--r--lang/perl5.16/files/patch-patchlevel.h13
-rw-r--r--lang/perl5.16/files/patch-perlio.c22
3 files changed, 36 insertions, 1 deletions
diff --git a/lang/perl5.16/Makefile b/lang/perl5.16/Makefile
index 4b23c9f21a6f..ba5fd45a0754 100644
--- a/lang/perl5.16/Makefile
+++ b/lang/perl5.16/Makefile
@@ -7,7 +7,7 @@
PORTNAME= perl
PORTVERSION= ${PERL_VER}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \
${MASTER_SITE_LOCAL:S/$/:local/} \
diff --git a/lang/perl5.16/files/patch-patchlevel.h b/lang/perl5.16/files/patch-patchlevel.h
new file mode 100644
index 000000000000..c24961cf5dbc
--- /dev/null
+++ b/lang/perl5.16/files/patch-patchlevel.h
@@ -0,0 +1,13 @@
+$FreeBSD$
+
+--- patchlevel.h.orig Wed Feb 2 16:45:30 2005
++++ patchlevel.h Wed Feb 2 16:45:34 2005
+@@ -120,6 +120,8 @@ hunk.
+ #if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
+ static char *local_patches[] = {
+ NULL
++ ,"SUIDPERLIO0 - fix PERLIO_DEBUG local root exploit (CAN-2005-0155)"
++ ,"SUIDPERLIO1 - fix PERLIO_DEBUG buffer overflow (CAN-2005-0156)"
+ ,NULL
+ };
+
diff --git a/lang/perl5.16/files/patch-perlio.c b/lang/perl5.16/files/patch-perlio.c
new file mode 100644
index 000000000000..c680381d2123
--- /dev/null
+++ b/lang/perl5.16/files/patch-perlio.c
@@ -0,0 +1,22 @@
+$FreeBSD$
+
+--- perlio.c.orig Wed Feb 2 16:45:24 2005
++++ perlio.c Wed Feb 2 16:45:34 2005
+@@ -454,7 +454,7 @@ PerlIO_debug(const char *fmt, ...)
+ va_list ap;
+ dSYS;
+ va_start(ap, fmt);
+- if (!dbg) {
++ if (!dbg && !PL_tainting && PL_uid == PL_euid && PL_gid == PL_egid) {
+ char *s = PerlEnv_getenv("PERLIO_DEBUG");
+ if (s && *s)
+ dbg = PerlLIO_open3(s, O_WRONLY | O_CREAT | O_APPEND, 0666);
+@@ -471,7 +471,7 @@ PerlIO_debug(const char *fmt, ...)
+ s = CopFILE(PL_curcop);
+ if (!s)
+ s = "(none)";
+- sprintf(buffer, "%s:%" IVdf " ", s, (IV) CopLINE(PL_curcop));
++ sprintf(buffer, "%.40s:%" IVdf " ", s, (IV) CopLINE(PL_curcop));
+ len = strlen(buffer);
+ vsprintf(buffer+len, fmt, ap);
+ PerlLIO_write(dbg, buffer, strlen(buffer));