diff --git a/impl/src/layer1/rx.c b/impl/src/layer1/rx.c index 30da258..b8c01a9 100644 --- a/impl/src/layer1/rx.c +++ b/impl/src/layer1/rx.c @@ -241,6 +241,13 @@ result_t layer1_rx_process(layer1_rx_t *rx, const float complex *samples, size_t break; } + // check the payload length + if(rx->payload_len_bytes == 0) { + DEBUG_LOG("Packet length %u is not supported.\n", rx->payload_len_bytes); + rx->state = RX_STATE_ACQUISITION; + break; + } + rx->payload_demod = modcod_create_modem(rx->modcod); uint16_t payload_bps = modem_get_bps(rx->payload_demod);