Fix recv_pkt_region incorrect usage

The `recv_pkt_region` is set when processing a flood packet in `filterRecvFloodPacket`
but direct/non-flood packets would never pass through that function, so the pointer was
not cleared for them.

`sendFloodReply` would then later use it blindly, which meant that the response would
either inherit the region from the last flood packet, or refer to a non-initialised pointer
if no region floods had been received yet.
This commit is contained in:
Neil Alexander
2026-07-02 09:28:41 +01:00
parent affe61dc3b
commit 0d7379520f
4 changed files with 8 additions and 10 deletions
+1 -1
View File
@@ -166,7 +166,7 @@ protected:
}
#endif
bool filterRecvFloodPacket(mesh::Packet* pkt) override;
mesh::DispatcherAction onRecvPacket(mesh::Packet* pkt) override;
void onAnonDataRecv(mesh::Packet* packet, const uint8_t* secret, const mesh::Identity& sender, uint8_t* data, size_t len) override;
int searchPeersByHash(const uint8_t* hash) override;