Fix unmatched subpattern to not become wildcard
This commit is contained in:
parent
a6258a8bc0
commit
404ec67656
73
pcre-8.21-Do-not-make-unmatched-subpattern-wildcard.patch
Normal file
73
pcre-8.21-Do-not-make-unmatched-subpattern-wildcard.patch
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
From 1daa2332fb112a2868957e0ed42242e6115d0d72 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||||
|
Date: Mon, 2 Jan 2012 10:56:09 +0100
|
||||||
|
Subject: [PATCH] Do not make unmatched subpattern wildcard
|
||||||
|
|
||||||
|
Back-ported from:
|
||||||
|
r836 | ph10 | 2011-12-28 18:16:11 +0100 (St, 28 pro 2011) | 2 lines
|
||||||
|
Merging all the changes from the pcre16 branch into the trunk.
|
||||||
|
|
||||||
|
See <https://bugzilla.redhat.com/show_bug.cgi?id=769597> for more
|
||||||
|
details.
|
||||||
|
---
|
||||||
|
pcre_exec.c | 6 +++++-
|
||||||
|
testdata/testinput1 | 6 ++++++
|
||||||
|
testdata/testoutput1 | 10 ++++++++++
|
||||||
|
3 files changed, 21 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/pcre_exec.c b/pcre_exec.c
|
||||||
|
index 46498d5..a7cec30 100644
|
||||||
|
--- a/pcre_exec.c
|
||||||
|
+++ b/pcre_exec.c
|
||||||
|
@@ -2620,9 +2620,13 @@ for (;;)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Handle repeated back references. If the length of the reference is
|
||||||
|
- zero, just continue with the main loop. */
|
||||||
|
+ zero, just continue with the main loop. If the length is negative, it
|
||||||
|
+ means the reference is unset in non-Java-compatible mode. If the minimum is
|
||||||
|
+ zero, we can continue at the same level without recursion. For any other
|
||||||
|
+ minimum, carrying on will result in NOMATCH. */
|
||||||
|
|
||||||
|
if (length == 0) continue;
|
||||||
|
+ if (length < 0 && min == 0) continue;
|
||||||
|
|
||||||
|
/* First, ensure the minimum number of matches are present. We get back
|
||||||
|
the length of the reference string explicitly rather than passing the
|
||||||
|
diff --git a/testdata/testinput1 b/testdata/testinput1
|
||||||
|
index 36d7028..b41de5a 100644
|
||||||
|
--- a/testdata/testinput1
|
||||||
|
+++ b/testdata/testinput1
|
||||||
|
@@ -4318,4 +4318,10 @@
|
||||||
|
/a[\C-X]b/
|
||||||
|
aJb
|
||||||
|
|
||||||
|
+/(another)?(\1?)test/
|
||||||
|
+ hello world test
|
||||||
|
+
|
||||||
|
+/(another)?(\1+)test/
|
||||||
|
+ hello world test
|
||||||
|
+
|
||||||
|
/-- End of testinput1 --/
|
||||||
|
diff --git a/testdata/testoutput1 b/testdata/testoutput1
|
||||||
|
index bc237ab..2357ddb 100644
|
||||||
|
--- a/testdata/testoutput1
|
||||||
|
+++ b/testdata/testoutput1
|
||||||
|
@@ -7053,4 +7053,14 @@ No match
|
||||||
|
aJb
|
||||||
|
0: aJb
|
||||||
|
|
||||||
|
+/(another)?(\1?)test/
|
||||||
|
+ hello world test
|
||||||
|
+ 0: test
|
||||||
|
+ 1: <unset>
|
||||||
|
+ 2:
|
||||||
|
+
|
||||||
|
+/(another)?(\1+)test/
|
||||||
|
+ hello world test
|
||||||
|
+No match
|
||||||
|
+
|
||||||
|
/-- End of testinput1 --/
|
||||||
|
--
|
||||||
|
1.7.7.5
|
||||||
|
|
@ -2,7 +2,7 @@
|
|||||||
#%%global rcversion RC1
|
#%%global rcversion RC1
|
||||||
Name: pcre
|
Name: pcre
|
||||||
Version: 8.21
|
Version: 8.21
|
||||||
Release: %{?rcversion:0.}1%{?rcversion:.%rcversion}%{?dist}
|
Release: %{?rcversion:0.}2%{?rcversion:.%rcversion}%{?dist}
|
||||||
%global myversion %{version}%{?rcversion:-%rcversion}
|
%global myversion %{version}%{?rcversion:-%rcversion}
|
||||||
Summary: Perl-compatible regular expression library
|
Summary: Perl-compatible regular expression library
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -13,6 +13,8 @@ Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/%{name}/%{?rcversion:Te
|
|||||||
Patch0: pcre-8.21-multilib.patch
|
Patch0: pcre-8.21-multilib.patch
|
||||||
# Refused by upstream, bug #675477
|
# Refused by upstream, bug #675477
|
||||||
Patch1: pcre-8.20-refused_spelling_terminated.patch
|
Patch1: pcre-8.20-refused_spelling_terminated.patch
|
||||||
|
# Bug #769597, fixed by upstream after 8.21.
|
||||||
|
Patch2: pcre-8.21-Do-not-make-unmatched-subpattern-wildcard.patch
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
# New libtool to get rid of rpath
|
# New libtool to get rid of rpath
|
||||||
BuildRequires: autoconf, automake, libtool
|
BuildRequires: autoconf, automake, libtool
|
||||||
@ -53,6 +55,7 @@ Utilities demonstrating PCRE capabilities like pcregrep or pcretest.
|
|||||||
%patch0 -p1 -b .multilib
|
%patch0 -p1 -b .multilib
|
||||||
libtoolize --copy --force && autoreconf
|
libtoolize --copy --force && autoreconf
|
||||||
%patch1 -p1 -b .terminated_typos
|
%patch1 -p1 -b .terminated_typos
|
||||||
|
%patch2 -p1 -b .unmatched_subpattern
|
||||||
# One contributor's name is non-UTF-8
|
# One contributor's name is non-UTF-8
|
||||||
for F in ChangeLog; do
|
for F in ChangeLog; do
|
||||||
iconv -f latin1 -t utf8 "$F" >"${F}.utf8"
|
iconv -f latin1 -t utf8 "$F" >"${F}.utf8"
|
||||||
@ -123,6 +126,9 @@ make check
|
|||||||
%{_mandir}/man1/pcretest.*
|
%{_mandir}/man1/pcretest.*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 02 2012 Petr Pisar <ppisar@redhat.com> - 8.21-2
|
||||||
|
- Fix unmatched subpattern to not become wildcard (bug #769597)
|
||||||
|
|
||||||
* Mon Dec 12 2011 Petr Pisar <ppisar@redhat.com> - 8.21-1
|
* Mon Dec 12 2011 Petr Pisar <ppisar@redhat.com> - 8.21-1
|
||||||
- 8.21 bump
|
- 8.21 bump
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user