From a491202f939242e8dc6f1f8d677f0313733cc4a3 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 25 Mar 2026 16:32:38 -0700 Subject: [PATCH] refactor: convert final 7 getRemainingSize() comparisons to hasRemaining() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix extra-paren variants in world_packets and packet_parsers_tbc. getRemainingSize() is now exclusively arithmetic across the entire codebase — all bounds checks use hasRemaining(). --- src/game/packet_parsers_tbc.cpp | 4 ++-- src/game/world_packets.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/game/packet_parsers_tbc.cpp b/src/game/packet_parsers_tbc.cpp index eae0e94b..8d86a808 100644 --- a/src/game/packet_parsers_tbc.cpp +++ b/src/game/packet_parsers_tbc.cpp @@ -912,7 +912,7 @@ bool TbcPacketParsers::parseNameQueryResponse(network::Packet& packet, NameQuery data.guid = packet.readUInt64(); data.found = 0; data.name = packet.readString(); - if (!data.name.empty() && (packet.getRemainingSize()) >= 12) { + if (!data.name.empty() && packet.hasRemaining(12)) { uint32_t race = packet.readUInt32(); uint32_t gender = packet.readUInt32(); uint32_t cls = packet.readUInt32(); @@ -938,7 +938,7 @@ bool TbcPacketParsers::parseNameQueryResponse(network::Packet& packet, NameQuery data.found = found; if (data.found != 0) return true; data.name = packet.readString(); - if (!data.name.empty() && (packet.getRemainingSize()) >= 12) { + if (!data.name.empty() && packet.hasRemaining(12)) { uint32_t race = packet.readUInt32(); uint32_t gender = packet.readUInt32(); uint32_t cls = packet.readUInt32(); diff --git a/src/game/world_packets.cpp b/src/game/world_packets.cpp index ce4d388b..7a156f8e 100644 --- a/src/game/world_packets.cpp +++ b/src/game/world_packets.cpp @@ -1504,7 +1504,7 @@ bool MessageChatParser::parse(network::Packet& packet, MessageChatData& data) { packet.setReadPos(start); return false; } - if ((packet.getRemainingSize()) < (static_cast(len) + minTrailingBytes)) { + if (!packet.hasRemaining(static_cast(len) + minTrailingBytes)) { packet.setReadPos(start); return false; } @@ -2209,7 +2209,7 @@ bool PetitionShowlistParser::parse(network::Packet& packet, PetitionShowlistData data.displayId = packet.readUInt32(); data.cost = packet.readUInt32(); // Skip unused fields if present - if ((packet.getRemainingSize()) >= 8) { + if (packet.hasRemaining(8)) { data.charterType = packet.readUInt32(); data.requiredSigs = packet.readUInt32(); } @@ -2270,7 +2270,7 @@ bool GuildQueryResponseParser::parse(network::Packet& packet, GuildQueryResponse data.borderColor = packet.readUInt32(); data.backgroundColor = packet.readUInt32(); - if ((packet.getRemainingSize()) >= 4) { + if (packet.hasRemaining(4)) { data.rankCount = packet.readUInt32(); } LOG_INFO("Parsed SMSG_GUILD_QUERY_RESPONSE: guild=", data.guildName, " id=", data.guildId); @@ -2425,7 +2425,7 @@ bool GuildEventParser::parse(network::Packet& packet, GuildEventData& data) { for (uint8_t i = 0; i < data.numStrings && i < 3; ++i) { data.strings[i] = packet.readString(); } - if ((packet.getRemainingSize()) >= 8) { + if (packet.hasRemaining(8)) { data.guid = packet.readUInt64(); } LOG_INFO("Parsed SMSG_GUILD_EVENT: type=", static_cast(data.eventType), " strings=", static_cast(data.numStrings));