https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67212
Bug ID: 67212 Summary: Infinite recurtion in std::regex_match Product: gcc Version: 5.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: antialize at gmail dot com Target Milestone: --- Created attachment 36184 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36184&action=edit Crashing program The following code, crashes for some instances of line (as given in the attachment): std::regex lineExp("tpie::update_fractions\\([ ]*\"([^\"]+)\"[ ]*,[ ]*([^, ]+)[ ]*,[ ]*([^\\) ]+)[ ]*\\);.*", std::regex::extended); std::string line = <some_long_string_here> std::smatch matches; std::regex_match(line, matches, lineExp); The crash ocure as we are running out of stack space in some possible infinite recurtion. The context of the code can be seen here https://github.com/thomasmoelhave/tpie/blob/cpp11-cleanup/tpie/fractional_progress.cpp#L64 The issue is triggered by: g++ -std=c++11 test2.cc && ./a.out