Skip to content

Commit 061b9de

Browse files
authored
Reject invalid fragmented payloads (#257)
* Reject invalid fragmented payloads - On Arduino, there is a need to reject invalid fragmented payloads with less than 2 fragments * Slight modification - header->reserved is used for header->type on the last fragment. Allow low numbers for the last fragment
1 parent b245b3a commit 061b9de

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

RF24Network.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,10 @@ uint8_t ESBNetwork<radio_t>::enqueue(RF24NetworkHeader* header)
433433

434434
if (isFragment) {
435435

436+
if (header->reserved < 2 && header->type != NETWORK_LAST_FRAGMENT) {
437+
return false;
438+
}
439+
436440
if (header->type == NETWORK_FIRST_FRAGMENT) {
437441

438442
memcpy((char*)(&frag_queue), &frame_buffer, sizeof(RF24NetworkHeader));

0 commit comments

Comments
 (0)