- Fixes for boost.regex.
This commit is contained in:
parent
1acce65b09
commit
878cbb870d
|
@ -0,0 +1,44 @@
|
||||||
|
--- ./boost/regex/v4/basic_regex_parser.hpp.orig 2008-01-16 21:09:57.000000000 +0100
|
||||||
|
+++ ./boost/regex/v4/basic_regex_parser.hpp 2008-01-16 21:08:30.000000000 +0100
|
||||||
|
@@ -727,7 +727,8 @@
|
||||||
|
++m_position;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- if(0 == this->m_last_state)
|
||||||
|
+ if(0 == this->m_last_state
|
||||||
|
+ || this->m_last_state->type == syntax_element_assert_backref)
|
||||||
|
{
|
||||||
|
fail(regex_constants::error_badrepeat, ::boost::re_detail::distance(m_base, m_position));
|
||||||
|
return false;
|
||||||
|
@@ -767,6 +768,7 @@
|
||||||
|
case syntax_element_restart_continue:
|
||||||
|
case syntax_element_jump:
|
||||||
|
case syntax_element_startmark:
|
||||||
|
+ case syntax_element_backstep:
|
||||||
|
// can't legally repeat any of the above:
|
||||||
|
fail(regex_constants::error_badrepeat, m_position - m_base);
|
||||||
|
return false;
|
||||||
|
@@ -1853,6 +1855,7 @@
|
||||||
|
if(markid == -4)
|
||||||
|
{
|
||||||
|
re_syntax_base* b = this->getaddress(expected_alt_point);
|
||||||
|
+ // Make sure we have exactly one alternative following this state:
|
||||||
|
if(b->type != syntax_element_alt)
|
||||||
|
{
|
||||||
|
re_alt* alt = static_cast<re_alt*>(this->insert_state(expected_alt_point, syntax_element_alt, sizeof(re_alt)));
|
||||||
|
@@ -1863,6 +1866,15 @@
|
||||||
|
fail(regex_constants::error_bad_pattern, m_position - m_base);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
+ // check for invalid repetition of next state:
|
||||||
|
+ b = this->getaddress(expected_alt_point);
|
||||||
|
+ b = this->getaddress(static_cast<re_alt*>(b)->next.i, b);
|
||||||
|
+ if((b->type != syntax_element_assert_backref)
|
||||||
|
+ && (b->type != syntax_element_startmark))
|
||||||
|
+ {
|
||||||
|
+ fail(regex_constants::error_badrepeat, m_position - m_base);
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// append closing parenthesis state:
|
|
@ -1,7 +1,7 @@
|
||||||
Name: boost
|
Name: boost
|
||||||
Summary: The Boost C++ Libraries
|
Summary: The Boost C++ Libraries
|
||||||
Version: 1.33.1
|
Version: 1.33.1
|
||||||
Release: 14%{?dist}
|
Release: 15%{?dist}
|
||||||
License: Boost Software License (GPL-Compatible, Free Software License)
|
License: Boost Software License (GPL-Compatible, Free Software License)
|
||||||
URL: http://www.boost.org/
|
URL: http://www.boost.org/
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
|
@ -29,6 +29,7 @@ Patch7: boost-bind-gcc41.patch
|
||||||
Patch8: boost-cxxflags-debug.patch
|
Patch8: boost-cxxflags-debug.patch
|
||||||
Patch9: boost-python-vs-x86-64.patch
|
Patch9: boost-python-vs-x86-64.patch
|
||||||
Patch10: boost-opt.patch
|
Patch10: boost-opt.patch
|
||||||
|
Patch11: boost-regex.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Boost provides free peer-reviewed portable C++ source libraries. The
|
Boost provides free peer-reviewed portable C++ source libraries. The
|
||||||
|
@ -80,6 +81,7 @@ rm -rf %{buildroot}
|
||||||
%patch8 -p0
|
%patch8 -p0
|
||||||
%patch9 -p0
|
%patch9 -p0
|
||||||
%patch10 -p0
|
%patch10 -p0
|
||||||
|
%patch11 -p0
|
||||||
|
|
||||||
%build
|
%build
|
||||||
#build bjam
|
#build bjam
|
||||||
|
@ -185,6 +187,9 @@ rm -rf %{buildroot}
|
||||||
%doc %{_docdir}/boost-%{version}
|
%doc %{_docdir}/boost-%{version}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jan 16 2008 Petr Machata <pmachata@redhat.com> - 1.33.1-15
|
||||||
|
- Fixes for boost.regex.
|
||||||
|
|
||||||
* Mon Nov 19 2007 Petr Machata <pmachata@redhat.com> - 1.33.1-14
|
* Mon Nov 19 2007 Petr Machata <pmachata@redhat.com> - 1.33.1-14
|
||||||
- Apply/testsuite ambiguous option patch from James Philbin
|
- Apply/testsuite ambiguous option patch from James Philbin
|
||||||
- Resolves: #369581
|
- Resolves: #369581
|
||||||
|
|
Loading…
Reference in New Issue