aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortobez <tobez@FreeBSD.org>2003-07-14 19:36:59 +0800
committertobez <tobez@FreeBSD.org>2003-07-14 19:36:59 +0800
commit324a3ea4eb6dae1d9065fff84c1d88d9c4125fea (patch)
tree39a61a5e625c58aac1aeb7afdacd4040402b08bc
parent045e4ec99b6b0f10f28aa7b8ee74d7ffcf4eca6a (diff)
downloadfreebsd-ports-gnome-324a3ea4eb6dae1d9065fff84c1d88d9c4125fea.tar.gz
freebsd-ports-gnome-324a3ea4eb6dae1d9065fff84c1d88d9c4125fea.tar.zst
freebsd-ports-gnome-324a3ea4eb6dae1d9065fff84c1d88d9c4125fea.zip
Fix a bug which goes unnoticed on all platforms but leads to a
coredump on FreeBSD/amd64 when one uses $^N variable and there were no captures in the last executed regexp. One third of this fix was applied to the perl tree in December 2002, with the rest hopefully applied in the next couple of days. Reported by: jwd
-rw-r--r--lang/perl5.10/Makefile2
-rw-r--r--lang/perl5.10/files/patch-lastcloseparen31
-rw-r--r--lang/perl5.12/Makefile2
-rw-r--r--lang/perl5.12/files/patch-lastcloseparen31
-rw-r--r--lang/perl5.14/Makefile2
-rw-r--r--lang/perl5.14/files/patch-lastcloseparen31
-rw-r--r--lang/perl5.16/Makefile2
-rw-r--r--lang/perl5.16/files/patch-lastcloseparen31
-rw-r--r--lang/perl5.8/Makefile2
-rw-r--r--lang/perl5.8/files/patch-lastcloseparen31
10 files changed, 160 insertions, 5 deletions
diff --git a/lang/perl5.10/Makefile b/lang/perl5.10/Makefile
index daf65a15a9ff..6ba08cd34469 100644
--- a/lang/perl5.10/Makefile
+++ b/lang/perl5.10/Makefile
@@ -7,7 +7,7 @@
PORTNAME= perl
PORTVERSION= ${PERL_VER}
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \
${MASTER_SITE_LOCAL:S/$/:local/} \
diff --git a/lang/perl5.10/files/patch-lastcloseparen b/lang/perl5.10/files/patch-lastcloseparen
new file mode 100644
index 000000000000..3676fed904de
--- /dev/null
+++ b/lang/perl5.10/files/patch-lastcloseparen
@@ -0,0 +1,31 @@
+--- pp_hot.c.orig Mon Jul 14 10:20:29 2003
++++ pp_hot.c Mon Jul 14 10:21:31 2003
+@@ -1406,7 +1406,7 @@ yup: /* Confirmed by INTUIT */
+ rx->startp[0] = s - truebase;
+ rx->endp[0] = s - truebase + rx->minlen;
+ }
+- rx->nparens = rx->lastparen = 0; /* used by @- and @+ */
++ rx->nparens = rx->lastparen = rx->lastcloseparen = 0; /* used by @-, @+, and $^N */
+ LEAVE_SCOPE(oldsave);
+ RETPUSHYES;
+
+--- sv.c.orig Mon Jul 14 10:21:49 2003
++++ sv.c Mon Jul 14 10:22:35 2003
+@@ -11474,6 +11474,7 @@ perl_clone_using(PerlInterpreter *proto_
+ PL_regstartp = (I32*)NULL;
+ PL_regendp = (I32*)NULL;
+ PL_reglastparen = (U32*)NULL;
++ PL_reglastcloseparen = (U32*)NULL;
+ PL_regtill = Nullch;
+ PL_reg_start_tmp = (char**)NULL;
+ PL_reg_start_tmpl = 0;
+--- regexec.c.orig Mon Jul 14 10:37:02 2003
++++ regexec.c Mon Jul 14 10:37:34 2003
+@@ -2107,6 +2107,7 @@ S_regtry(pTHX_ regexp *prog, char *start
+ PL_reglastparen = &prog->lastparen;
+ PL_reglastcloseparen = &prog->lastcloseparen;
+ prog->lastparen = 0;
++ prog->lastcloseparen = 0;
+ PL_regsize = 0;
+ DEBUG_r(PL_reg_starttry = startpos);
+ if (PL_reg_start_tmpl <= prog->nparens) {
diff --git a/lang/perl5.12/Makefile b/lang/perl5.12/Makefile
index daf65a15a9ff..6ba08cd34469 100644
--- a/lang/perl5.12/Makefile
+++ b/lang/perl5.12/Makefile
@@ -7,7 +7,7 @@
PORTNAME= perl
PORTVERSION= ${PERL_VER}
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \
${MASTER_SITE_LOCAL:S/$/:local/} \
diff --git a/lang/perl5.12/files/patch-lastcloseparen b/lang/perl5.12/files/patch-lastcloseparen
new file mode 100644
index 000000000000..3676fed904de
--- /dev/null
+++ b/lang/perl5.12/files/patch-lastcloseparen
@@ -0,0 +1,31 @@
+--- pp_hot.c.orig Mon Jul 14 10:20:29 2003
++++ pp_hot.c Mon Jul 14 10:21:31 2003
+@@ -1406,7 +1406,7 @@ yup: /* Confirmed by INTUIT */
+ rx->startp[0] = s - truebase;
+ rx->endp[0] = s - truebase + rx->minlen;
+ }
+- rx->nparens = rx->lastparen = 0; /* used by @- and @+ */
++ rx->nparens = rx->lastparen = rx->lastcloseparen = 0; /* used by @-, @+, and $^N */
+ LEAVE_SCOPE(oldsave);
+ RETPUSHYES;
+
+--- sv.c.orig Mon Jul 14 10:21:49 2003
++++ sv.c Mon Jul 14 10:22:35 2003
+@@ -11474,6 +11474,7 @@ perl_clone_using(PerlInterpreter *proto_
+ PL_regstartp = (I32*)NULL;
+ PL_regendp = (I32*)NULL;
+ PL_reglastparen = (U32*)NULL;
++ PL_reglastcloseparen = (U32*)NULL;
+ PL_regtill = Nullch;
+ PL_reg_start_tmp = (char**)NULL;
+ PL_reg_start_tmpl = 0;
+--- regexec.c.orig Mon Jul 14 10:37:02 2003
++++ regexec.c Mon Jul 14 10:37:34 2003
+@@ -2107,6 +2107,7 @@ S_regtry(pTHX_ regexp *prog, char *start
+ PL_reglastparen = &prog->lastparen;
+ PL_reglastcloseparen = &prog->lastcloseparen;
+ prog->lastparen = 0;
++ prog->lastcloseparen = 0;
+ PL_regsize = 0;
+ DEBUG_r(PL_reg_starttry = startpos);
+ if (PL_reg_start_tmpl <= prog->nparens) {
diff --git a/lang/perl5.14/Makefile b/lang/perl5.14/Makefile
index daf65a15a9ff..6ba08cd34469 100644
--- a/lang/perl5.14/Makefile
+++ b/lang/perl5.14/Makefile
@@ -7,7 +7,7 @@
PORTNAME= perl
PORTVERSION= ${PERL_VER}
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \
${MASTER_SITE_LOCAL:S/$/:local/} \
diff --git a/lang/perl5.14/files/patch-lastcloseparen b/lang/perl5.14/files/patch-lastcloseparen
new file mode 100644
index 000000000000..3676fed904de
--- /dev/null
+++ b/lang/perl5.14/files/patch-lastcloseparen
@@ -0,0 +1,31 @@
+--- pp_hot.c.orig Mon Jul 14 10:20:29 2003
++++ pp_hot.c Mon Jul 14 10:21:31 2003
+@@ -1406,7 +1406,7 @@ yup: /* Confirmed by INTUIT */
+ rx->startp[0] = s - truebase;
+ rx->endp[0] = s - truebase + rx->minlen;
+ }
+- rx->nparens = rx->lastparen = 0; /* used by @- and @+ */
++ rx->nparens = rx->lastparen = rx->lastcloseparen = 0; /* used by @-, @+, and $^N */
+ LEAVE_SCOPE(oldsave);
+ RETPUSHYES;
+
+--- sv.c.orig Mon Jul 14 10:21:49 2003
++++ sv.c Mon Jul 14 10:22:35 2003
+@@ -11474,6 +11474,7 @@ perl_clone_using(PerlInterpreter *proto_
+ PL_regstartp = (I32*)NULL;
+ PL_regendp = (I32*)NULL;
+ PL_reglastparen = (U32*)NULL;
++ PL_reglastcloseparen = (U32*)NULL;
+ PL_regtill = Nullch;
+ PL_reg_start_tmp = (char**)NULL;
+ PL_reg_start_tmpl = 0;
+--- regexec.c.orig Mon Jul 14 10:37:02 2003
++++ regexec.c Mon Jul 14 10:37:34 2003
+@@ -2107,6 +2107,7 @@ S_regtry(pTHX_ regexp *prog, char *start
+ PL_reglastparen = &prog->lastparen;
+ PL_reglastcloseparen = &prog->lastcloseparen;
+ prog->lastparen = 0;
++ prog->lastcloseparen = 0;
+ PL_regsize = 0;
+ DEBUG_r(PL_reg_starttry = startpos);
+ if (PL_reg_start_tmpl <= prog->nparens) {
diff --git a/lang/perl5.16/Makefile b/lang/perl5.16/Makefile
index daf65a15a9ff..6ba08cd34469 100644
--- a/lang/perl5.16/Makefile
+++ b/lang/perl5.16/Makefile
@@ -7,7 +7,7 @@
PORTNAME= perl
PORTVERSION= ${PERL_VER}
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \
${MASTER_SITE_LOCAL:S/$/:local/} \
diff --git a/lang/perl5.16/files/patch-lastcloseparen b/lang/perl5.16/files/patch-lastcloseparen
new file mode 100644
index 000000000000..3676fed904de
--- /dev/null
+++ b/lang/perl5.16/files/patch-lastcloseparen
@@ -0,0 +1,31 @@
+--- pp_hot.c.orig Mon Jul 14 10:20:29 2003
++++ pp_hot.c Mon Jul 14 10:21:31 2003
+@@ -1406,7 +1406,7 @@ yup: /* Confirmed by INTUIT */
+ rx->startp[0] = s - truebase;
+ rx->endp[0] = s - truebase + rx->minlen;
+ }
+- rx->nparens = rx->lastparen = 0; /* used by @- and @+ */
++ rx->nparens = rx->lastparen = rx->lastcloseparen = 0; /* used by @-, @+, and $^N */
+ LEAVE_SCOPE(oldsave);
+ RETPUSHYES;
+
+--- sv.c.orig Mon Jul 14 10:21:49 2003
++++ sv.c Mon Jul 14 10:22:35 2003
+@@ -11474,6 +11474,7 @@ perl_clone_using(PerlInterpreter *proto_
+ PL_regstartp = (I32*)NULL;
+ PL_regendp = (I32*)NULL;
+ PL_reglastparen = (U32*)NULL;
++ PL_reglastcloseparen = (U32*)NULL;
+ PL_regtill = Nullch;
+ PL_reg_start_tmp = (char**)NULL;
+ PL_reg_start_tmpl = 0;
+--- regexec.c.orig Mon Jul 14 10:37:02 2003
++++ regexec.c Mon Jul 14 10:37:34 2003
+@@ -2107,6 +2107,7 @@ S_regtry(pTHX_ regexp *prog, char *start
+ PL_reglastparen = &prog->lastparen;
+ PL_reglastcloseparen = &prog->lastcloseparen;
+ prog->lastparen = 0;
++ prog->lastcloseparen = 0;
+ PL_regsize = 0;
+ DEBUG_r(PL_reg_starttry = startpos);
+ if (PL_reg_start_tmpl <= prog->nparens) {
diff --git a/lang/perl5.8/Makefile b/lang/perl5.8/Makefile
index daf65a15a9ff..6ba08cd34469 100644
--- a/lang/perl5.8/Makefile
+++ b/lang/perl5.8/Makefile
@@ -7,7 +7,7 @@
PORTNAME= perl
PORTVERSION= ${PERL_VER}
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= lang devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \
${MASTER_SITE_LOCAL:S/$/:local/} \
diff --git a/lang/perl5.8/files/patch-lastcloseparen b/lang/perl5.8/files/patch-lastcloseparen
new file mode 100644
index 000000000000..3676fed904de
--- /dev/null
+++ b/lang/perl5.8/files/patch-lastcloseparen
@@ -0,0 +1,31 @@
+--- pp_hot.c.orig Mon Jul 14 10:20:29 2003
++++ pp_hot.c Mon Jul 14 10:21:31 2003
+@@ -1406,7 +1406,7 @@ yup: /* Confirmed by INTUIT */
+ rx->startp[0] = s - truebase;
+ rx->endp[0] = s - truebase + rx->minlen;
+ }
+- rx->nparens = rx->lastparen = 0; /* used by @- and @+ */
++ rx->nparens = rx->lastparen = rx->lastcloseparen = 0; /* used by @-, @+, and $^N */
+ LEAVE_SCOPE(oldsave);
+ RETPUSHYES;
+
+--- sv.c.orig Mon Jul 14 10:21:49 2003
++++ sv.c Mon Jul 14 10:22:35 2003
+@@ -11474,6 +11474,7 @@ perl_clone_using(PerlInterpreter *proto_
+ PL_regstartp = (I32*)NULL;
+ PL_regendp = (I32*)NULL;
+ PL_reglastparen = (U32*)NULL;
++ PL_reglastcloseparen = (U32*)NULL;
+ PL_regtill = Nullch;
+ PL_reg_start_tmp = (char**)NULL;
+ PL_reg_start_tmpl = 0;
+--- regexec.c.orig Mon Jul 14 10:37:02 2003
++++ regexec.c Mon Jul 14 10:37:34 2003
+@@ -2107,6 +2107,7 @@ S_regtry(pTHX_ regexp *prog, char *start
+ PL_reglastparen = &prog->lastparen;
+ PL_reglastcloseparen = &prog->lastcloseparen;
+ prog->lastparen = 0;
++ prog->lastcloseparen = 0;
+ PL_regsize = 0;
+ DEBUG_r(PL_reg_starttry = startpos);
+ if (PL_reg_start_tmpl <= prog->nparens) {