diff --git a/src/net.cpp b/src/net.cpp index 2546826f9ae..6b7e62d7cb9 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2106,6 +2106,8 @@ CNode::~CNode() void CNode::AskFor(const CInv& inv) { + if (mapAskFor.size() > MAPASKFOR_MAX_SZ) + return; // We're using mapAskFor as a priority queue, // the key is the earliest time the request can be sent int64_t nRequestTime; diff --git a/src/net.h b/src/net.h index e2700c09756..ad0a1df7e2b 100644 --- a/src/net.h +++ b/src/net.h @@ -51,6 +51,8 @@ static const bool DEFAULT_UPNP = USE_UPNP; #else static const bool DEFAULT_UPNP = false; #endif +/** The maximum number of entries in mapAskFor */ +static const size_t MAPASKFOR_MAX_SZ = MAX_INV_SZ; unsigned int ReceiveFloodSize(); unsigned int SendBufferSize();