From fe6ccf1624719a525ce14f3f2a3f1a6ab0e98011 Mon Sep 17 00:00:00 2001 From: Felix Rusu Date: Fri, 5 Jun 2020 13:50:31 -0400 Subject: [PATCH] fix encrypt() for null or "" keys --- RFM69.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/RFM69.cpp b/RFM69.cpp index ed4d8b9..c94e383 100644 --- a/RFM69.cpp +++ b/RFM69.cpp @@ -438,7 +438,8 @@ void RFM69::encrypt(const char* key) { _haveEncryptKey = key; #endif setMode(RF69_MODE_STANDBY); - if (key != 0) + uint8_t validKey = key != 0 && strlen(key)!=0; + if (validKey) { #if defined(RF69_LISTENMODE_ENABLE) memcpy(_encryptKey, key, 16); @@ -449,7 +450,7 @@ void RFM69::encrypt(const char* key) { _spi->transfer(key[i]); unselect(); } - writeReg(REG_PACKETCONFIG2, (readReg(REG_PACKETCONFIG2) & 0xFE) | (key ? 1 : 0)); + writeReg(REG_PACKETCONFIG2, (readReg(REG_PACKETCONFIG2) & 0xFE) | (validKey ? 1 : 0)); } // get the received signal strength indicator (RSSI) @@ -1211,4 +1212,4 @@ void RFM69::listenModeSendBurst( uint8_t targetNode, const void* buffer, uint8_t setMode(RF69_MODE_STANDBY); reinitRadio(); } -#endif +#endif \ No newline at end of file