diff options
author | Attila Molnar <attilamolnar@hush.com> | 2016-02-13 19:23:07 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2016-02-13 19:23:07 +0100 |
commit | 09c716ce117e3c89b4da7ab88f4caaefb43511b5 (patch) | |
tree | d0778f395584141121de34d7dd179ac3d2e79d5d /src/dns.cpp | |
parent | 24438c074648c16fa1adb2a8b2b18d4f8d916214 (diff) |
Limit DNS cache size
Diffstat (limited to 'src/dns.cpp')
-rw-r--r-- | src/dns.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/dns.cpp b/src/dns.cpp index ff823524c..3d3bc947f 100644 --- a/src/dns.cpp +++ b/src/dns.cpp @@ -1060,7 +1060,11 @@ void DNS::HandleEvent(EventType, int) ServerInstance->stats->statsDnsGood++; if (!this->GetCache(res.original.c_str())) + { + if (cache->size() >= MAX_CACHE_SIZE) + cache->clear(); this->cache->insert(std::make_pair(res.original.c_str(), CachedQuery(res.result, res.type, res.ttl))); + } Classes[res.id]->OnLookupComplete(res.result, res.ttl, false); delete Classes[res.id]; |