From 3d9db21387b65435dc260257fb49fc9e4f262654 Mon Sep 17 00:00:00 2001 From: StevenCellist Date: Mon, 19 Feb 2024 19:33:18 +0100 Subject: [PATCH] [LoRaWAN] Prevent incorrect behaviour in restore() --- src/protocols/LoRaWAN/LoRaWAN.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/protocols/LoRaWAN/LoRaWAN.cpp b/src/protocols/LoRaWAN/LoRaWAN.cpp index dd36f289..6e06b023 100644 --- a/src/protocols/LoRaWAN/LoRaWAN.cpp +++ b/src/protocols/LoRaWAN/LoRaWAN.cpp @@ -82,6 +82,10 @@ int16_t LoRaWANNode::restore() { return(RADIOLIB_ERR_NETWORK_NOT_JOINED); } + if(!this->isActiveSession()) { + return(RADIOLIB_ERR_NETWORK_NOT_JOINED); + } + // pull all authentication keys from persistent storage this->devAddr = mod->hal->getPersistentParameter(RADIOLIB_EEPROM_LORAWAN_DEV_ADDR_ID); mod->hal->readPersistentStorage(mod->hal->getPersistentAddr(RADIOLIB_EEPROM_LORAWAN_APP_S_KEY_ID), this->appSKey, RADIOLIB_AES128_BLOCK_SIZE);