[SX128x] Limit preamble length to 16bit numbers

pull/1607/head
jgromes 2025-09-20 12:51:39 +02:00
rodzic 8ac7893e8e
commit c938127f16
1 zmienionych plików z 2 dodań i 1 usunięć

Wyświetl plik

@ -828,7 +828,8 @@ int16_t SX128x::setPreambleLength(size_t preambleLength) {
uint8_t modem = getPacketType();
if((modem == RADIOLIB_SX128X_PACKET_TYPE_LORA) || (modem == RADIOLIB_SX128X_PACKET_TYPE_RANGING)) {
// LoRa or ranging
RADIOLIB_CHECK_RANGE((uint32_t)preambleLength, 2, 491520, RADIOLIB_ERR_INVALID_PREAMBLE_LENGTH);
// the actual limit is 491520, however, some platforms (notably AVR) limit size_t to 16 bits
RADIOLIB_CHECK_RANGE(preambleLength, 2, 65534, RADIOLIB_ERR_INVALID_PREAMBLE_LENGTH);
// check preamble length is even - no point even trying odd numbers
if(preambleLength % 2 != 0) {