Gentoo Archives: gentoo-commits

From: "Tiziano Mueller (dev-zero)" <dev-zero@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/boost/1.34.1/patches: 07_all_1.34.1-CVE-2008-0171_and_0172.patch
Date: Thu, 24 Jan 2008 15:14:32
Message-Id: E1JI3me-0004Cz-1L@stork.gentoo.org
1 dev-zero 08/01/24 15:14:28
2
3 Modified: 07_all_1.34.1-CVE-2008-0171_and_0172.patch
4 Log:
5 Converted to unix line endings.
6
7 Revision Changes Path
8 1.2 src/patchsets/boost/1.34.1/patches/07_all_1.34.1-CVE-2008-0171_and_0172.patch
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/boost/1.34.1/patches/07_all_1.34.1-CVE-2008-0171_and_0172.patch?rev=1.2&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/boost/1.34.1/patches/07_all_1.34.1-CVE-2008-0171_and_0172.patch?rev=1.2&content-type=text/plain
12 diff : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/boost/1.34.1/patches/07_all_1.34.1-CVE-2008-0171_and_0172.patch?r1=1.1&r2=1.2
13
14 Index: 07_all_1.34.1-CVE-2008-0171_and_0172.patch
15 ===================================================================
16 RCS file: /var/cvsroot/gentoo/src/patchsets/boost/1.34.1/patches/07_all_1.34.1-CVE-2008-0171_and_0172.patch,v
17 retrieving revision 1.1
18 retrieving revision 1.2
19 diff -u -r1.1 -r1.2
20 --- 07_all_1.34.1-CVE-2008-0171_and_0172.patch 24 Jan 2008 12:47:18 -0000 1.1
21 +++ 07_all_1.34.1-CVE-2008-0171_and_0172.patch 24 Jan 2008 15:14:27 -0000 1.2
22 @@ -1,50 +1,50 @@
23 -Index: /trunk/boost/regex/v4/basic_regex_parser.hpp
24 -===================================================================
25 ---- boost/regex/v4/basic_regex_parser.hpp (revision 38864)
26 -+++ boost/regex/v4/basic_regex_parser.hpp (revision 42674)
27 -@@ -785,4 +785,5 @@
28 - case syntax_element_jump:
29 - case syntax_element_startmark:
30 -+ case syntax_element_backstep:
31 - // can't legally repeat any of the above:
32 - fail(regex_constants::error_badrepeat, m_position - m_base);
33 -@@ -1870,4 +1871,5 @@
34 - {
35 - re_syntax_base* b = this->getaddress(expected_alt_point);
36 -+ // Make sure we have exactly one alternative following this state:
37 - if(b->type != syntax_element_alt)
38 - {
39 -@@ -1878,4 +1880,13 @@
40 - {
41 - fail(regex_constants::error_bad_pattern, m_position - m_base);
42 -+ return false;
43 -+ }
44 -+ // check for invalid repetition of next state:
45 -+ b = this->getaddress(expected_alt_point);
46 -+ b = this->getaddress(static_cast<re_alt*>(b)->next.i, b);
47 -+ if((b->type != syntax_element_assert_backref)
48 -+ && (b->type != syntax_element_startmark))
49 -+ {
50 -+ fail(regex_constants::error_badrepeat, m_position - m_base);
51 - return false;
52 - }
53 -Index: /trunk/libs/regex/test/regress/test_perl_ex.cpp
54 -===================================================================
55 ---- libs/regex/test/regress/test_perl_ex.cpp (revision 30980)
56 -+++ libs/regex/test/regress/test_perl_ex.cpp (revision 42674)
57 -@@ -122,4 +122,15 @@
58 - TEST_INVALID_REGEX("(?:(a)|b)(?(?<", perl);
59 - TEST_INVALID_REGEX("(?:(a)|b)(?(?<a", perl);
60 -+
61 -+ TEST_INVALID_REGEX("(?(?!#?)+)", perl);
62 -+ TEST_INVALID_REGEX("(?(?=:-){0})", perl);
63 -+ TEST_INVALID_REGEX("(?(123){1})", perl);
64 -+ TEST_INVALID_REGEX("(?(?<=A)*)", perl);
65 -+ TEST_INVALID_REGEX("(?(?<=A)+)", perl);
66 -+
67 -+ TEST_INVALID_REGEX("(?<!*|^)", perl);
68 -+ TEST_INVALID_REGEX("(?<!*|A)", perl);
69 -+ TEST_INVALID_REGEX("(?<=?|A)", perl);
70 -+ TEST_INVALID_REGEX("(?<=*|\\B)", perl);
71 - }
72 -
73 +Index: /trunk/boost/regex/v4/basic_regex_parser.hpp
74 +===================================================================
75 +--- boost/regex/v4/basic_regex_parser.hpp (revision 38864)
76 ++++ boost/regex/v4/basic_regex_parser.hpp (revision 42674)
77 +@@ -785,4 +785,5 @@
78 + case syntax_element_jump:
79 + case syntax_element_startmark:
80 ++ case syntax_element_backstep:
81 + // can't legally repeat any of the above:
82 + fail(regex_constants::error_badrepeat, m_position - m_base);
83 +@@ -1870,4 +1871,5 @@
84 + {
85 + re_syntax_base* b = this->getaddress(expected_alt_point);
86 ++ // Make sure we have exactly one alternative following this state:
87 + if(b->type != syntax_element_alt)
88 + {
89 +@@ -1878,4 +1880,13 @@
90 + {
91 + fail(regex_constants::error_bad_pattern, m_position - m_base);
92 ++ return false;
93 ++ }
94 ++ // check for invalid repetition of next state:
95 ++ b = this->getaddress(expected_alt_point);
96 ++ b = this->getaddress(static_cast<re_alt*>(b)->next.i, b);
97 ++ if((b->type != syntax_element_assert_backref)
98 ++ && (b->type != syntax_element_startmark))
99 ++ {
100 ++ fail(regex_constants::error_badrepeat, m_position - m_base);
101 + return false;
102 + }
103 +Index: /trunk/libs/regex/test/regress/test_perl_ex.cpp
104 +===================================================================
105 +--- libs/regex/test/regress/test_perl_ex.cpp (revision 30980)
106 ++++ libs/regex/test/regress/test_perl_ex.cpp (revision 42674)
107 +@@ -122,4 +122,15 @@
108 + TEST_INVALID_REGEX("(?:(a)|b)(?(?<", perl);
109 + TEST_INVALID_REGEX("(?:(a)|b)(?(?<a", perl);
110 ++
111 ++ TEST_INVALID_REGEX("(?(?!#?)+)", perl);
112 ++ TEST_INVALID_REGEX("(?(?=:-){0})", perl);
113 ++ TEST_INVALID_REGEX("(?(123){1})", perl);
114 ++ TEST_INVALID_REGEX("(?(?<=A)*)", perl);
115 ++ TEST_INVALID_REGEX("(?(?<=A)+)", perl);
116 ++
117 ++ TEST_INVALID_REGEX("(?<!*|^)", perl);
118 ++ TEST_INVALID_REGEX("(?<!*|A)", perl);
119 ++ TEST_INVALID_REGEX("(?<=?|A)", perl);
120 ++ TEST_INVALID_REGEX("(?<=*|\\B)", perl);
121 + }
122 +
123
124
125
126 --
127 gentoo-commits@l.g.o mailing list