From 0699a43d5db9612cc66be9bcb3e45ce788771ee0 Mon Sep 17 00:00:00 2001 From: Fedja Beader Date: Sun, 30 Mar 2025 21:23:00 +0000 Subject: processTradeResponse: Fix a potential early exit before full packet is read Not sure how to trigger this one, couldn't do it with a few simple tests. **** mana/plus!149 --- src/net/tmwa/traderecv.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/net/tmwa/traderecv.cpp b/src/net/tmwa/traderecv.cpp index 1f4079e7c..433a1f62f 100644 --- a/src/net/tmwa/traderecv.cpp +++ b/src/net/tmwa/traderecv.cpp @@ -158,6 +158,8 @@ void TradeRecv::processTradeItemAddResponse(Net::MessageIn &msg) void TradeRecv::processTradeResponse(Net::MessageIn &msg) { + const uint8_t type = msg.readUInt8("type"); + if (tradePartnerName.empty() || !playerRelations.hasPermission(tradePartnerName, PlayerRelation::TRADE)) @@ -165,7 +167,6 @@ void TradeRecv::processTradeResponse(Net::MessageIn &msg) tradeHandler->respond(false); return; } - const uint8_t type = msg.readUInt8("type"); Ea::TradeRecv::processTradeResponseContinue(type); } -- cgit v1.2.3-70-g09d2