aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2017-06-12 15:40:18 -0700
committerPieter Wuille <pieter.wuille@gmail.com>2017-06-12 15:49:13 -0700
commit8d9f45ea6a5e4220e44d34139438eea75a07530b (patch)
tree9129aab15432fae61d2c64d14d9d7b6186e83314 /src
parentc98ebf1bfb29a8203b5090412afeb333384213cd (diff)
parentbf376eaccc892afb7ded1a56819a72dd50a7a2c1 (diff)
downloadbitcoin-8d9f45ea6a5e4220e44d34139438eea75a07530b.tar.xz
Merge #10564: Return early in IsBanned.
bf376eacc Return early in IsBanned. (Gregory Maxwell) Tree-SHA512: d8ed4aaf9a7523b00effa4ac17cec3be1ec1f5c5ce64d89833fbc8f3d73d13b022043354fbcf2682b2af05070d115e1fc0cc0b122197e9ddee5959c3fb9dd16d
Diffstat (limited to 'src')
-rw-r--r--src/net.cpp32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/net.cpp b/src/net.cpp
index 14ac5618eb..75d1719e86 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -469,35 +469,31 @@ void CConnman::ClearBanned()
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);
- for (banmap_t::iterator it = setBanned.begin(); it != setBanned.end(); it++)
- {
- CSubNet subNet = (*it).first;
- CBanEntry banEntry = (*it).second;
+ CSubNet subNet = (*it).first;
+ CBanEntry banEntry = (*it).second;
- if(subNet.Match(ip) && GetTime() < banEntry.nBanUntil)
- fResult = true;
+ if (subNet.Match(ip) && GetTime() < banEntry.nBanUntil) {
+ return true;
}
}
- return fResult;
+ return false;
}
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);
- banmap_t::iterator i = setBanned.find(subnet);
- if (i != setBanned.end())
- {
- CBanEntry banEntry = (*i).second;
- if (GetTime() < banEntry.nBanUntil)
- fResult = true;
+ CBanEntry banEntry = (*i).second;
+ if (GetTime() < banEntry.nBanUntil) {
+ return true;
}
}
- return fResult;
+ return false;
}
void CConnman::Ban(const CNetAddr& addr, const BanReason &banReason, int64_t bantimeoffset, bool sinceUnixEpoch) {