From 5a9be91fac8306f0e2671635caac926084882da5 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 14 Mar 2026 10:40:54 -0700 Subject: [PATCH] fix(combatlog): validate packed guid bounds in spell go parser --- src/game/world_packets.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/game/world_packets.cpp b/src/game/world_packets.cpp index cc04e449..c52be440 100644 --- a/src/game/world_packets.cpp +++ b/src/game/world_packets.cpp @@ -3722,7 +3722,14 @@ bool SpellGoParser::parse(network::Packet& packet, SpellGoData& data) { if (packet.getSize() - packet.getReadPos() < 17) return false; size_t startPos = packet.getReadPos(); + if (!hasFullPackedGuid(packet)) { + return false; + } data.casterGuid = UpdateObjectParser::readPackedGuid(packet); + if (!hasFullPackedGuid(packet)) { + packet.setReadPos(startPos); + return false; + } data.casterUnit = UpdateObjectParser::readPackedGuid(packet); // Validate remaining fixed fields up to hitCount/missCount