Skip to content

Commit e57638e

Browse files
TMRh202bndy5
authored andcommitted
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 0c2e25f commit e57638e

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
@@ -423,6 +423,10 @@ uint8_t RF24Network::enqueue(RF24NetworkHeader* header)
423423

424424
if (isFragment) {
425425

426+
if (header->reserved < 2 && header->type != NETWORK_LAST_FRAGMENT) {
427+
return false;
428+
}
429+
426430
if (header->type == NETWORK_FIRST_FRAGMENT) {
427431

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

0 commit comments

Comments
 (0)