Opened 6 years ago
Closed 6 years ago
#12222 closed Bugs (fixed)
Segmentation fault in boost::make_u32regex when trying to construct invalid regular expression
| Reported by: | Owned by: | John Maddock | |
|---|---|---|---|
| Milestone: | Boost 1.62.0 | Component: | regex |
| Version: | Boost 1.61.0 | Severity: | Regression |
| Keywords: | Cc: |
Description
The following code produces segmentation fault with boost 1.61.0, icu 57.1:
#include <boost/regex/icu.hpp>
#include <iostream>
int main()
{
auto rx = boost::make_u32regex("\\", boost::regex::basic);
std::cout << boost::u32regex_search("qwerty", rx) << std::endl;
}
Backtrace:
Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7b54b7b in boost::re_detail_106100::basic_regex_parser<int, boost::icu_regex_traits>::parse_basic() () from /usr/lib64/libboost_regex.so.1.61.0 (gdb) bt #0 0x00007ffff7b54b7b in boost::re_detail_106100::basic_regex_parser<int, boost::icu_regex_traits>::parse_bas ic() () from /usr/lib64/libboost_regex.so.1.61.0 #1 0x00007ffff7b565a6 in boost::re_detail_106100::basic_regex_parser<int, boost::icu_regex_traits>::parse(int const*, int const*, unsigned int) () from /usr/lib64/libboost_regex.so.1.61.0 #2 0x00007ffff7b56a1d in boost::basic_regex<int, boost::icu_regex_traits>::do_assign(int const*, int const*, unsigned int) () from /usr/lib64/libboost_regex.so.1.61.0 #3 0x0000000000406fa4 in boost::basic_regex<int, boost::icu_regex_traits>::assign(int const*, int const*, uns igned int) () #4 0x000000000040631d in boost::basic_regex<int, boost::icu_regex_traits>::basic_regex<boost::u8_to_u32_itera tor<char const*, int> >(boost::u8_to_u32_iterator<char const*, int>, boost::u8_to_u32_iterator<char const*, in t>, unsigned int) () #5 0x00000000004057ba in boost::basic_regex<int, boost::icu_regex_traits> boost::re_detail_106100::do_make_u3 2regex<char const*>(char const*, char const*, unsigned int, mpl_::int_<1> const*) () #6 0x00000000004050d5 in boost::make_u32regex(char const*, unsigned int) () #7 0x0000000000404604 in main ()
Change History (1)
comment:1 by , 6 years ago
| Milestone: | To Be Determined → Boost 1.62.0 |
|---|---|
| Resolution: | → fixed |
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.

Fixed in https://github.com/boostorg/regex/commit/7719dedbafa0ffdd3bd7d6d6c87881dd6fcde9e5
Thanks!