diff --git a/src/Mesh.cpp b/src/Mesh.cpp index 0548c9073..2469db5c7 100644 --- a/src/Mesh.cpp +++ b/src/Mesh.cpp @@ -45,7 +45,7 @@ DispatcherAction Mesh::onRecvPacket(Packet* pkt) { } if (pkt->isRouteDirect() && pkt->getPayloadType() == PAYLOAD_TYPE_TRACE) { - if (pkt->path_len < MAX_PATH_SIZE) { + if (pkt->path_len < MAX_PATH_SIZE && pkt->payload_len >= 9) { // need trace_tag(4) + auth_code(4) + flags(1) uint8_t i = 0; uint32_t trace_tag; memcpy(&trace_tag, &pkt->payload[i], 4); i += 4;