Merge pull request #149 from BeigeBox/fix/dmrd-packet-length-validation

Validate DMRD packet length before enqueuing
This commit is contained in:
Jonathan Naylor 2026-04-06 20:09:35 +01:00 committed by GitHub
commit 79edbc4396
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 4 deletions

View file

@ -271,9 +271,11 @@ void CMMDVMNetwork::clock(unsigned int ms)
CUtils::dump(1U, "Network Received", m_buffer, length);
if (::memcmp(m_buffer, "DMRD", 4U) == 0) {
unsigned char len = length;
m_rxData.addData(&len, 1U);
m_rxData.addData(m_buffer, len);
if (length == HOMEBREW_DATA_PACKET_LENGTH) {
unsigned char len = length;
m_rxData.addData(&len, 1U);
m_rxData.addData(m_buffer, len);
}
} else if (::memcmp(m_buffer, "DMRG", 4U) == 0) {
if (length <= 50U) {
::memcpy(m_radioPositionData, m_buffer, length);