[Boost-bugs] [Boost C++ Libraries] #2713: Crash in perl_matcher::match_all_states() method - race condition

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