From e5681bb12154bae75977d091190e924d8e6984cd Mon Sep 17 00:00:00 2001 From: s_nakamoto Date: Tue, 15 Jun 2010 18:26:32 +0000 Subject: more addr message error checking -- version 0.2.11 git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@83 1a98c847-1fd6-4fd8-948a-caf3550aa51b --- main.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index aef68838cb..13b7828dd5 100644 --- a/main.cpp +++ b/main.cpp @@ -1926,7 +1926,9 @@ bool ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) { vector vAddr; vRecv >> vAddr; - if (vAddr.size() > 50000) // lower this to 1000 later + if (pfrom->nVersion < 200) // don't want addresses from 0.1.5 + return true; + if (vAddr.size() > 1000) return error("message addr size() = %d", vAddr.size()); // Store the new addresses @@ -2311,6 +2313,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle) if (pto->setAddrKnown.insert(addr).second) { vAddr.push_back(addr); + // receiver rejects addr messages larger than 1000 if (vAddr.size() >= 1000) { pto->PushMessage("addr", vAddr); -- cgit v1.2.3