From e807f0617b3d5ca3fb699a172b0575be71f3b087 Mon Sep 17 00:00:00 2001 From: Thomas Kolb Date: Fri, 5 Jan 2024 13:49:50 +0100 Subject: [PATCH] rx: skip zero-length packets If passed on, these cause a segmentation fault in the channel decoder. As zero-length packets currently make no real sense in this protocol, they are ignored now. --- impl/src/layer1/rx.c | 7 +++++++ 1 file changed, 7 insertions(+) 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);