From efdefaa7dbfa32887888693e8eaf3e631da4d5c3 Mon Sep 17 00:00:00 2001 From: Akshai M Date: Thu, 18 Mar 2021 17:55:04 +0100 Subject: [PATCH] gnrc_netif_lorawan: Validate DR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: José Alamos --- sys/net/gnrc/netif/lorawan/gnrc_netif_lorawan.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/net/gnrc/netif/lorawan/gnrc_netif_lorawan.c b/sys/net/gnrc/netif/lorawan/gnrc_netif_lorawan.c index c30519220f..6dabb4a474 100644 --- a/sys/net/gnrc/netif/lorawan/gnrc_netif_lorawan.c +++ b/sys/net/gnrc/netif/lorawan/gnrc_netif_lorawan.c @@ -24,6 +24,7 @@ #include "net/netdev.h" #include "net/lora.h" #include "net/loramac.h" +#include "net/gnrc/lorawan/region.h" #include "net/gnrc/netreg.h" #define ENABLE_DEBUG 0 @@ -351,6 +352,11 @@ static int _set(gnrc_netif_t *netif, const gnrc_netapi_opt_t *opt) switch (opt->opt) { case NETOPT_LORAWAN_DR: assert(opt->data_len == sizeof(uint8_t)); + if (!gnrc_lorawan_validate_dr(*((uint8_t *)opt->data))) { + DEBUG("gnrc_netif_lorawan: Invalid datarate\n"); + res = -EINVAL; + break; + } netif->lorawan.datarate = *((uint8_t *)opt->data); break; case NETOPT_LORAWAN_TX_PORT: