From d56ba865e463bb3b376cdad8f6f6d8f7fe0d6a30 Mon Sep 17 00:00:00 2001 From: Ember Date: Sun, 5 Apr 2026 17:59:44 -0700 Subject: [PATCH] Add length validation for D-Star network packets --- DStarNetwork.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/DStarNetwork.cpp b/DStarNetwork.cpp index 7a0acff..8d80eb1 100644 --- a/DStarNetwork.cpp +++ b/DStarNetwork.cpp @@ -218,6 +218,9 @@ void CDStarNetwork::clock(unsigned int ms) switch (buffer[4]) { case 0x00U: // NETWORK_TEXT; + if (length < 34) + return; + if (m_debug) CUtils::dump(1U, "D-Star Network Status Received", buffer, length); @@ -233,6 +236,9 @@ void CDStarNetwork::clock(unsigned int ms) return; case 0x20U: // NETWORK_HEADER + if (length < 9) + return; + if (m_inId == 0U && m_enabled) { if (m_debug) CUtils::dump(1U, "D-Star Network Header Received", buffer, length); @@ -250,6 +256,9 @@ void CDStarNetwork::clock(unsigned int ms) break; case 0x21U: // NETWORK_DATA + if (length < 10) + return; + if (m_enabled) { if (m_debug) CUtils::dump(1U, "D-Star Network Data Received", buffer, length);