Skip to content

Commit

Permalink
Merge pull request #20880 from Teufelchen1/fix/lora
Browse files Browse the repository at this point in the history
gnrc_lorawan: Ensure minimal packet length
  • Loading branch information
benpicco authored Oct 2, 2024
2 parents 505433b + 5153790 commit 260e58f
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions sys/net/gnrc/link_layer/lorawan/gnrc_lorawan_mcps.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@ int gnrc_lorawan_parse_dl(gnrc_lorawan_t *mac, uint8_t *buf, size_t len,
pkt->fopts.iol_base = buf;
pkt->fopts.iol_len = fopts_length;
buf += fopts_length;
if (buf >= p_mic) {
DEBUG("gnrc_lorawan: packet with fopts but no payload. Drop\n");
return -1;
}
}

if (buf < p_mic) {
Expand Down Expand Up @@ -165,6 +169,11 @@ void gnrc_lorawan_mcps_process_downlink(gnrc_lorawan_t *mac, uint8_t *psdu,
{
struct parsed_packet _pkt;

if (size < sizeof(lorawan_hdr_t) + MIC_SIZE) {
DEBUG("gnrc_lorawan: invalid psdu size\n");
return;
}

/* NOTE: MIC is in pkt */
if (!gnrc_lorawan_mic_is_valid(psdu, size, mac->ctx.snwksintkey,
mac->mcps.fcnt, gnrc_lorawan_optneg_is_set(mac))) {
Expand Down

0 comments on commit 260e58f

Please sign in to comment.