diff --git a/src/lora_transport.cpp b/src/lora_transport.cpp index 34562ab..e0744d2 100644 --- a/src/lora_transport.cpp +++ b/src/lora_transport.cpp @@ -138,6 +138,16 @@ bool lora_receive(LoraPacket &pkt, uint32_t timeout_ms) { while (LoRa.available() && len < sizeof(buffer)) { buffer[len++] = LoRa.read(); } + if (LoRa.available()) { + while (LoRa.available()) { + LoRa.read(); + } + if (SERIAL_DEBUG_MODE) { + Serial.println("rx_reject: oversize packet drained"); + } + note_reject(RxRejectReason::LengthMismatch); + return false; + } if (len < 5) { note_reject(RxRejectReason::LengthMismatch);