diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/IPLocation/IPLocation.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/src/common/IPLocation/IPLocation.cpp b/src/common/IPLocation/IPLocation.cpp index 2f9ed6b0dec..b11182e4b08 100644 --- a/src/common/IPLocation/IPLocation.cpp +++ b/src/common/IPLocation/IPLocation.cpp @@ -99,7 +99,12 @@ void IpLocationStore::Load()  IpLocationRecord const* IpLocationStore::GetLocationRecord(std::string const& ipAddress) const  { -    uint32 ip = Trinity::Net::address_to_uint(Trinity::Net::make_address_v4(ipAddress)); +    boost::system::error_code error; +    boost::asio::ip::address_v4 address = Trinity::Net::make_address_v4(ipAddress, error); +    if (error) +        return nullptr; + +    uint32 ip = Trinity::Net::address_to_uint(address);      auto itr = std::upper_bound(_ipLocationStore.begin(), _ipLocationStore.end(), ip, [](uint32 ip, IpLocationRecord const& loc) { return ip < loc.IpTo; });      if (itr == _ipLocationStore.end())          return nullptr;  | 
