libwallet_api: fix unhandled exception on address check
This commit is contained in:
parent
1f73f80c94
commit
0019e3106b
1 changed files with 16 additions and 12 deletions
|
@ -56,18 +56,22 @@ bool isAddressLocal(const std::string &address)
|
||||||
LOG_PRINT_L1("Failed to determine whether daemon is local, assuming not");
|
LOG_PRINT_L1("Failed to determine whether daemon is local, assuming not");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
// resolver::resolve can throw an exception
|
||||||
// resolve to IP
|
try {
|
||||||
boost::asio::io_service io_service;
|
// resolve to IP
|
||||||
boost::asio::ip::tcp::resolver resolver(io_service);
|
boost::asio::io_service io_service;
|
||||||
boost::asio::ip::tcp::resolver::query query(u_c.host, "");
|
boost::asio::ip::tcp::resolver resolver(io_service);
|
||||||
boost::asio::ip::tcp::resolver::iterator i = resolver.resolve(query);
|
boost::asio::ip::tcp::resolver::query query(u_c.host, "");
|
||||||
while (i != boost::asio::ip::tcp::resolver::iterator())
|
boost::asio::ip::tcp::resolver::iterator i = resolver.resolve(query);
|
||||||
{
|
while (i != boost::asio::ip::tcp::resolver::iterator())
|
||||||
const boost::asio::ip::tcp::endpoint &ep = *i;
|
{
|
||||||
if (ep.address().is_loopback())
|
const boost::asio::ip::tcp::endpoint &ep = *i;
|
||||||
return true;
|
if (ep.address().is_loopback())
|
||||||
++i;
|
return true;
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
} catch (const boost::system::system_error &e) {
|
||||||
|
LOG_ERROR("Failed to resolve " << address << ", :" << e.what());
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue