id summary reporter owner description type status milestone component version severity resolution keywords cc 9400 Boost spirit double_ parser crashes (array out of bounds) on values over 1e308 michael.schmidt@… Joel de Guzman "How to reproduce: {{{ std::string test = ""00573e443ef8ec10b5a1f23ac8964c43c415cedf""; std::string::const_iterator s_begin = test .begin(); std::string::const_iterator s_end = test .end(); boost::spirit::qi::phrase_parse(s_begin, s_end, boost::spirit::qi::double_, boost::spirit::iso8859_1::space, out); }}} Note that this value get's interpreted as a double 573E+443. There is an array index out of bounds in the function: {{{ boost/spirit/home/support/detail/pow10.hpp, line 88 }}} because the exponent larger than 308. I suggest throwing an exception here if the exponent is >308 so that we can handle if a user enters a value larger than the max double. Otherwise the double_ parser is unusable for user input or user provided data. " Bugs closed To Be Determined spirit Boost 1.55.0 Showstopper fixed