Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3459: Xpressive - Redundant search pattern causes fatal crash
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-09-17 16:05:41
#3459: Xpressive - Redundant search pattern causes fatal crash
----------------------------------------------------+-----------------------
Reporter: Eric Schwarz <master.universe@â¦> | Owner: eric_niebler
Type: Bugs | Status: closed
Milestone: Boost 1.41.0 | Component: xpressive
Version: Boost 1.40.0 | Severity: Showstopper
Resolution: invalid | Keywords: Xpressive core dumped fatal crash
----------------------------------------------------+-----------------------
Comment(by eric_niebler):
A pattern may contain a character set (which begins with {{{'['}}} and
ends with {{{']'}}}). A character set may contain a nested posix character
set (which begins with "[:" and ends with ":]"). Xpressive's regex parser
sees the leading '[' and parses the rest as a character set containing the
characters ':', 'd', 'i', 'g', 'i', and 't' (very much not what you want,
but perfectly correct according to the ECMA-262 specification). Now it
reads ":]" as a single token and, having found a closing posix charset
bracket without an opening one, it throws an exception.
I repeat: you meant "[[:digit:]]". If you still disagree, please back up
your argument with the relevant portion of ECMA-262.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3459#comment:3> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:01 UTC