From 6a5f0eafde1d055dec2124e7564180cdaa9c7194 Mon Sep 17 00:00:00 2001 From: fekt Date: Sun, 15 Sep 2024 01:20:06 -0400 Subject: [PATCH] Memory DoS fixes --- src/main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4a9de15a7..4c059cf88 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7319,6 +7319,8 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, return error("message inv size() = %u", vInv.size()); } + bool fBlocksOnly = GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY); + LOCK(cs_main); const uint256* best_block{nullptr}; @@ -7349,10 +7351,10 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, best_block = &inv.hash; } } else { - pfrom->AddKnownWTxId(WTxId(inv.hash, inv.hashAux)); + pfrom->AddInventoryKnown(inv); if (fBlocksOnly) LogPrint("net", "transaction (%s) inv sent in violation of protocol peer=%d\n", inv.hash.ToString(), pfrom->id); - else if (!fAlreadyHave && !IsInitialBlockDownload(chainparams.GetConsensus())) + else if (!fAlreadyHave && !IsInitialBlockDownload()) pfrom->AskFor(inv); } if (pfrom->nSendSize > (SendBufferSize() * 2)) {