Convert strncpy to memcpy to avoid static analysis complaints.

This commit is contained in:
Jonathan Naylor 2019-11-05 09:01:49 +00:00
parent 079c95aac1
commit ef1631ac33

View file

@ -72,7 +72,7 @@ bool CDMRTA::decodeTA()
unsigned int TAformat = (talkerAlias[0] >> 6U) & 0x03U; unsigned int TAformat = (talkerAlias[0] >> 6U) & 0x03U;
unsigned int TAsize = (talkerAlias[0] >> 1U) & 0x1FU; unsigned int TAsize = (talkerAlias[0] >> 1U) & 0x1FU;
::strncpy(m_TA, "(could not decode)", sizeof(m_TA)); ::memcpy(m_TA, "(could not decode)", sizeof(m_TA));
switch (TAformat) { switch (TAformat) {
case 0U: // 7 bit case 0U: // 7 bit
@ -96,7 +96,7 @@ bool CDMRTA::decodeTA()
case 1U: // ISO 8 bit case 1U: // ISO 8 bit
case 2U: // UTF8 case 2U: // UTF8
::strncpy(m_TA, (char*)talkerAlias + 1U, sizeof(m_TA)); ::memcpy(m_TA, talkerAlias + 1U, sizeof(m_TA));
break; break;
case 3U: // UTF16 poor man's conversion case 3U: // UTF16 poor man's conversion
@ -117,9 +117,9 @@ bool CDMRTA::decodeTA()
if (TAlen > TAsize) { if (TAlen > TAsize) {
if (TAlen < 29U) if (TAlen < 29U)
strcat(m_TA," ?"); strcat(m_TA, " ?");
else else
strcpy(m_TA + 28U," ?"); strcpy(m_TA + 28U, " ?");
} }
return TAlen >= TAsize; return TAlen >= TAsize;