diff --git a/DMRSlot.cpp b/DMRSlot.cpp index a296574..7db9c53 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -562,6 +562,9 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) if (m_rfState == RS_RF_AUDIO) { m_rfN = data[1U] & 0x0FU; + if(m_rfN > 5U) + return false; + unsigned int errors = 0U; unsigned char fid = m_rfLC->getFID(); if (fid == FID_ETSI || fid == FID_DMRA) { @@ -802,6 +805,9 @@ bool CDMRSlot::writeModem(unsigned char *data, unsigned int len) m_rfN = data[1U] & 0x0FU; + if(m_rfN > 5U) + return false; + // Regenerate the EMB emb.getData(data + 2U);