diff options
| author | Riccardo Spagni <ric@spagni.net> | 2016-10-04 11:37:18 +0200 |
|---|---|---|
| committer | Riccardo Spagni <ric@spagni.net> | 2016-10-04 11:37:18 +0200 |
| commit | db90a16f030d0518b2ed11e6add97f98a3343bad (patch) | |
| tree | 8355688ad149ccd7d5a9f8254e6cbb0e7f16b1c1 /src/wallet/api/utils.cpp | |
| parent | 298a0723e8a4a38ecf0d78717f9daa1f456bb833 (diff) | |
| parent | 8b20cbfa7dcdae314ae8090b3fe0bd83deae0116 (diff) | |
| download | monzero-core-db90a16f030d0518b2ed11e6add97f98a3343bad.tar.gz monzero-core-db90a16f030d0518b2ed11e6add97f98a3343bad.tar.xz monzero-core-db90a16f030d0518b2ed11e6add97f98a3343bad.zip | |
Merge pull request #1152
8b20cbf libwallet_api: do not use fast-refresh on recovery (Ilya Kitaev)
10fe626 libwallet_api: fast-refresh in case of opening non-synced wallet (Ilya Kitaev)
0019e31 libwallet_api: fix unhandled exception on address check (Ilya Kitaev)
1f73f80 libwallet_api: fast-refresh for new wallet (Ilya Kitaev)
4789347 libwallet_api: test for create/init wallet on mainnet (Ilya Kitaev)
Diffstat (limited to 'src/wallet/api/utils.cpp')
| -rw-r--r-- | src/wallet/api/utils.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/wallet/api/utils.cpp b/src/wallet/api/utils.cpp index aa85323f0..1bf35197c 100644 --- a/src/wallet/api/utils.cpp +++ b/src/wallet/api/utils.cpp @@ -56,18 +56,22 @@ bool isAddressLocal(const std::string &address) LOG_PRINT_L1("Failed to determine whether daemon is local, assuming not"); return false; } - - // resolve to IP - boost::asio::io_service io_service; - boost::asio::ip::tcp::resolver resolver(io_service); - boost::asio::ip::tcp::resolver::query query(u_c.host, ""); - 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()) - return true; - ++i; + // resolver::resolve can throw an exception + try { + // resolve to IP + boost::asio::io_service io_service; + boost::asio::ip::tcp::resolver resolver(io_service); + boost::asio::ip::tcp::resolver::query query(u_c.host, ""); + 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()) + return true; + ++i; + } + } catch (const boost::system::system_error &e) { + LOG_ERROR("Failed to resolve " << address << ", :" << e.what()); } return false; |
