Merge #10564: Return early in IsBanned.

bf376eacc Return early in IsBanned. (Gregory Maxwell)

Tree-SHA512: d8ed4aaf9a7523b00effa4ac17cec3be1ec1f5c5ce64d89833fbc8f3d73d13b022043354fbcf2682b2af05070d115e1fc0cc0b122197e9ddee5959c3fb9dd16d
This commit is contained in:
Pieter Wuille 2017-06-12 15:40:18 -07:00 committed by Pasta
parent 742744f25f
commit eecc724362
No known key found for this signature in database
GPG Key ID: 0B8EB7A31A44D9C6

View File

@ -467,35 +467,31 @@ void CConnman::ClearBanned()
bool CConnman::IsBanned(CNetAddr ip) bool CConnman::IsBanned(CNetAddr ip)
{ {
bool fResult = false; LOCK(cs_setBanned);
for (banmap_t::iterator it = setBanned.begin(); it != setBanned.end(); it++)
{ {
LOCK(cs_setBanned); CSubNet subNet = (*it).first;
for (banmap_t::iterator it = setBanned.begin(); it != setBanned.end(); it++) CBanEntry banEntry = (*it).second;
{
CSubNet subNet = (*it).first;
CBanEntry banEntry = (*it).second;
if(subNet.Match(ip) && GetTime() < banEntry.nBanUntil) if (subNet.Match(ip) && GetTime() < banEntry.nBanUntil) {
fResult = true; return true;
} }
} }
return fResult; return false;
} }
bool CConnman::IsBanned(CSubNet subnet) bool CConnman::IsBanned(CSubNet subnet)
{ {
bool fResult = false; LOCK(cs_setBanned);
banmap_t::iterator i = setBanned.find(subnet);
if (i != setBanned.end())
{ {
LOCK(cs_setBanned); CBanEntry banEntry = (*i).second;
banmap_t::iterator i = setBanned.find(subnet); if (GetTime() < banEntry.nBanUntil) {
if (i != setBanned.end()) return true;
{
CBanEntry banEntry = (*i).second;
if (GetTime() < banEntry.nBanUntil)
fResult = true;
} }
} }
return fResult; return false;
} }
void CConnman::Ban(const CNetAddr& addr, const BanReason &banReason, int64_t bantimeoffset, bool sinceUnixEpoch) { void CConnman::Ban(const CNetAddr& addr, const BanReason &banReason, int64_t bantimeoffset, bool sinceUnixEpoch) {