Opened 6 years ago
#12354 new Bugs
boost::asio::connect crash when connect_condition sets iterator to end
Reported by: | Owned by: | chris_kohlhoff | |
---|---|---|---|
Milestone: | To Be Determined | Component: | asio |
Version: | Boost 1.60.0 | Severity: | Problem |
Keywords: | Cc: |
Description
example:
auto getIPV4Only = [](const error_code& ec, iterator next) { resolver::iterator end; while (!ec && next != end) { if (next->endpoint().address().is_v4()) return next; ++next; } return next; }; connect(socket, iterator, getIPV4Only, ec); //<- crashes when getIPV4Only returns end
fix:
--- include/boost/asio/impl/connect.hpp (revision 1.6.0) +++ include/boost/asio/impl/connect.hpp (working copy) @@ -122,7 +122,9 @@ s.connect(*iter, ec); if (!ec) return iter; - } + } else { + break; + } } if (!ec)
Note:
See TracTickets
for help on using tickets.