From 4f55a89201329532686869432463d10c40391bfd Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Mon, 22 Jul 2024 15:32:10 -0400 Subject: [PATCH] implement some changes suggested by CLang; fix writePeerStatus() not using RTP_END_OF_CALL_SEQ; --- src/common/dmr/SiteData.h | 8 ++++---- src/common/network/BaseNetwork.cpp | 22 +++++++++++++--------- src/common/network/udp/Socket.cpp | 2 +- src/common/p25/lc/TSBK.cpp | 2 -- src/fne/HostFNE.cpp | 7 ++++--- 5 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/common/dmr/SiteData.h b/src/common/dmr/SiteData.h index b57c923e..9329db4e 100644 --- a/src/common/dmr/SiteData.h +++ b/src/common/dmr/SiteData.h @@ -71,10 +71,10 @@ namespace dmr m_siteId = DMRUtils::siteId(siteId, siteModel); // parId clamping - if (parId == 0U) - parId = 3U; - if (parId > 3U) - parId = 3U; + if (m_parId == 0U) + m_parId = 3U; + if (m_parId > 3U) + m_parId = 3U; } /** diff --git a/src/common/network/BaseNetwork.cpp b/src/common/network/BaseNetwork.cpp index d0600043..c3870ffd 100644 --- a/src/common/network/BaseNetwork.cpp +++ b/src/common/network/BaseNetwork.cpp @@ -120,9 +120,9 @@ bool BaseNetwork::writeActLog(const char* message) char buffer[DATA_PACKET_LENGTH]; uint32_t len = ::strlen(message); - ::strcpy(buffer + 11U, message); + ::strncpy(buffer + 11U, message, len); - return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_ACTIVITY }, (uint8_t*)buffer, (uint32_t)len + 12U, + return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_ACTIVITY }, (uint8_t*)buffer, (uint32_t)len + 11U, RTP_END_OF_CALL_SEQ, 0U, false, m_useAlternatePortForDiagnostics); } @@ -141,9 +141,9 @@ bool BaseNetwork::writeDiagLog(const char* message) char buffer[DATA_PACKET_LENGTH]; uint32_t len = ::strlen(message); - ::strcpy(buffer + 11U, message); + ::strncpy(buffer + 11U, message, len); - return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_DIAG }, (uint8_t*)buffer, (uint32_t)len + 12U, + return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_DIAG }, (uint8_t*)buffer, (uint32_t)len + 11U, RTP_END_OF_CALL_SEQ, 0U, false, m_useAlternatePortForDiagnostics); } @@ -166,10 +166,10 @@ bool BaseNetwork::writePeerStatus(json::object obj) char buffer[DATA_PACKET_LENGTH]; uint32_t len = ::strlen(json.c_str()); - ::strcpy(buffer + 11U, json.c_str()); + ::strncpy(buffer + 11U, json.c_str(), len); - return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS }, (uint8_t*)buffer, (uint32_t)len + 12U, - 0U, 0U, false, m_useAlternatePortForDiagnostics); + return writeMaster({ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS }, (uint8_t*)buffer, (uint32_t)len + 11U, + RTP_END_OF_CALL_SEQ, 0U, false, m_useAlternatePortForDiagnostics); } /* Writes a group affiliation to the network. */ @@ -699,10 +699,14 @@ UInt8Array BaseNetwork::createDMR_Message(uint32_t& length, const uint32_t strea buffer[14U] = 0U; // Control Bits // Individual slot disabling - if (slotNo == 1U && !m_slot1) + if (slotNo == 1U && !m_slot1) { + delete[] buffer; return nullptr; - if (slotNo == 2U && !m_slot2) + } + if (slotNo == 2U && !m_slot2) { + delete[] buffer; return nullptr; + } buffer[15U] = slotNo == 1U ? 0x00U : 0x80U; // Slot Number diff --git a/src/common/network/udp/Socket.cpp b/src/common/network/udp/Socket.cpp index 1adfe807..e966ae8b 100644 --- a/src/common/network/udp/Socket.cpp +++ b/src/common/network/udp/Socket.cpp @@ -566,7 +566,7 @@ std::string Socket::getLocalAddress() int err = -1; if ((err = getifaddrs(&ifaddr)) == -1) { - LogError(LOG_NET, "Cannot retreive system network interfaces"); + LogError(LOG_NET, "Cannot retreive system network interfaces, err: %d", err); return "0.0.0.0"; } diff --git a/src/common/p25/lc/TSBK.cpp b/src/common/p25/lc/TSBK.cpp index d536fb7a..0e5c0aa1 100644 --- a/src/common/p25/lc/TSBK.cpp +++ b/src/common/p25/lc/TSBK.cpp @@ -208,8 +208,6 @@ bool TSBK::decode(const uint8_t* data, uint8_t* payload, bool rawTSBK) if ((tsbk[P25_TSBK_LENGTH_BYTES - 2U] != 0x00U) && (tsbk[P25_TSBK_LENGTH_BYTES - 1U] != 0x00U)) { LogWarning(LOG_P25, "TSBK::decode(), failed CRC CCITT-162 check"); } - - ret = true; // ignore CRC error } else { LogError(LOG_P25, "TSBK::decode(), failed CRC CCITT-162 check"); diff --git a/src/fne/HostFNE.cpp b/src/fne/HostFNE.cpp index 845a12fd..e0ea0e01 100644 --- a/src/fne/HostFNE.cpp +++ b/src/fne/HostFNE.cpp @@ -565,9 +565,10 @@ bool HostFNE::createMasterNetwork() LogError(LOG_HOST, "failed to initialize diagnostic log networking!"); m_useAlternatePortForDiagnostics = false; // this isn't fatal so just disable alternate port } - - if (encrypted) { - m_diagNetwork->setPresharedKey(presharedKey); + else { + if (encrypted) { + m_diagNetwork->setPresharedKey(presharedKey); + } } }