mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-28 13:46:41 +00:00
* PAYLOAD_TYPE_PATH bad path_len now rejected
This commit is contained in:
@@ -155,6 +155,10 @@ DispatcherAction Mesh::onRecvPacket(Packet* pkt) {
|
|||||||
if (pkt->getPayloadType() == PAYLOAD_TYPE_PATH) {
|
if (pkt->getPayloadType() == PAYLOAD_TYPE_PATH) {
|
||||||
int k = 0;
|
int k = 0;
|
||||||
uint8_t path_len = data[k++];
|
uint8_t path_len = data[k++];
|
||||||
|
if (!Packet::isValidPathLen(path_len)) {
|
||||||
|
MESH_DEBUG_PRINTLN("%s PAYLOAD_TYPE_PATH, bad path_len: %u", getLogDateTime(), (uint32_t)path_len);
|
||||||
|
break; // reject bad encoding
|
||||||
|
}
|
||||||
uint8_t hash_size = (path_len >> 6) + 1;
|
uint8_t hash_size = (path_len >> 6) + 1;
|
||||||
uint8_t hash_count = path_len & 63;
|
uint8_t hash_count = path_len & 63;
|
||||||
uint8_t* path = &data[k]; k += hash_size*hash_count;
|
uint8_t* path = &data[k]; k += hash_size*hash_count;
|
||||||
|
|||||||
Reference in New Issue
Block a user