diff --git a/include/boost/regex/v4/basic_regex_parser.hpp b/include/boost/regex/v4/basic_regex_parser.hpp index 6684dc51..22f5899d 100644 --- a/include/boost/regex/v4/basic_regex_parser.hpp +++ b/include/boost/regex/v4/basic_regex_parser.hpp @@ -1395,7 +1395,7 @@ charT basic_regex_parser::unescape_character() int i = this->m_traits.toi(m_position, m_end, 16); if((m_position == m_end) || (i < 0) - || (i > (std::numeric_limits::max)()) + || ((std::numeric_limits::is_specialized) && (i > (std::numeric_limits::max)())) || (this->m_traits.syntax_type(*m_position) != regex_constants::syntax_close_brace)) { fail(regex_constants::error_badbrace, m_position - m_base);