Fix crash on some systems when creating address object for 255.255.255.255

Closes #7735.
This commit is contained in:
sledgehammer999 2017-11-24 01:03:11 +02:00
parent a7da714b13
commit 48c46dc79a
No known key found for this signature in database
GPG key ID: 6E4A2D025B7CC9A2

View file

@ -1418,8 +1418,11 @@ void Session::configure(libtorrent::settings_pack &settingsPack)
void Session::configurePeerClasses()
{
libt::ip_filter f;
f.add_rule(libt::address_v4::from_string("0.0.0.0")
, libt::address_v4::from_string("255.255.255.255")
// address_v4::from_string("255.255.255.255") crashes on some people's systems
// so instead we use address_v4::broadcast()
// Proactively do the same for 0.0.0.0 and address_v4::any()
f.add_rule(libt::address_v4::any()
, libt::address_v4::broadcast()
, 1 << libt::session::global_peer_class_id);
#if TORRENT_USE_IPV6
// IPv6 may not be available on OS and the parsing