1 |
From 8d8c3dbadff3d0735ba696acf211c14b3025622f Mon Sep 17 00:00:00 2001 |
2 |
From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15> |
3 |
Date: Wed, 18 Jun 2014 17:17:03 +0000 |
4 |
Subject: [PATCH] Fix bad compile of [\Qx]... where x is any character. |
5 |
MIME-Version: 1.0 |
6 |
Content-Type: text/plain; charset=UTF-8 |
7 |
Content-Transfer-Encoding: 8bit |
8 |
|
9 |
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1487 2f5784b3-3f2a-0410-8824-cb99058d5e15 |
10 |
Signed-off-by: Petr Písař <ppisar@redhat.com> |
11 |
|
12 |
Petr Pisar: Ported to 8.35. |
13 |
|
14 |
diff --git a/pcre_compile.c b/pcre_compile.c |
15 |
index 29d3c29..c44839e 100644 |
16 |
--- a/pcre_compile.c |
17 |
+++ b/pcre_compile.c |
18 |
@@ -5325,7 +5325,7 @@ for (;; ptr++) |
19 |
whatever repeat count may follow. In the case of reqchar, save the |
20 |
previous value for reinstating. */ |
21 |
|
22 |
- if (class_one_char == 1 && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET) |
23 |
+ if (!inescq && class_one_char == 1 && ptr[1] == CHAR_RIGHT_SQUARE_BRACKET) |
24 |
{ |
25 |
ptr++; |
26 |
zeroreqchar = reqchar; |
27 |
diff --git a/testdata/testinput1 b/testdata/testinput1 |
28 |
index c9ebf9f..5513d16 100644 |
29 |
--- a/testdata/testinput1 |
30 |
+++ b/testdata/testinput1 |
31 |
@@ -5708,4 +5708,10 @@ AbcdCBefgBhiBqz |
32 |
/\sabc/ |
33 |
\x{0b}abc |
34 |
|
35 |
+/[\Qa]\E]+/ |
36 |
+ aa]] |
37 |
+ |
38 |
+/[\Q]a\E]+/ |
39 |
+ aa]] |
40 |
+ |
41 |
/-- End of testinput1 --/ |
42 |
diff --git a/testdata/testoutput1 b/testdata/testoutput1 |
43 |
index 6eb7d2d..cfa90d6 100644 |
44 |
--- a/testdata/testoutput1 |
45 |
+++ b/testdata/testoutput1 |
46 |
@@ -9393,4 +9393,12 @@ No match |
47 |
\x{0b}abc |
48 |
0: \x0babc |
49 |
|
50 |
+/[\Qa]\E]+/ |
51 |
+ aa]] |
52 |
+ 0: aa]] |
53 |
+ |
54 |
+/[\Q]a\E]+/ |
55 |
+ aa]] |
56 |
+ 0: aa]] |
57 |
+ |
58 |
/-- End of testinput1 --/ |
59 |
-- |
60 |
1.9.3 |
61 |
|