Subject: [Boost-bugs] [Boost C++ Libraries] #2713: Crash in perl_matcher::match_all_states() method - race condition
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-02-02 14:50:09
#2713: Crash in perl_matcher::match_all_states() method - race condition
----------------------------+-----------------------------------------------
Reporter: lang_at_[hidden] | Owner: johnmaddock
Type: Bugs | Status: new
Milestone: Boost 1.38.0 | Component: regex
Version: Boost 1.37.0 | Severity: Problem
Keywords: |
----------------------------+-----------------------------------------------
In file perl_matcher_non_recursive.hpp is method
perl_matcher::match_all_states() which contain static table
's_match_vtable'.
If this method is called at first time, from more threads, table created
in one thread can be skipped in other (due to dynamic code in table
initialization), it causing crash of the following code:
matcher_proc_type proc = s_match_vtable[pstate->type];[[BR]]
...[[BR]]
if(!(this->*proc)()) {[[BR]]
because 'proc' is NULL
Tested with Visual Studio 2005
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/2713> 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:49:59 UTC