Fix crash on long data frames.

This commit is contained in:
Jonathan Naylor 2021-12-20 22:57:40 +00:00
parent cf9fa93cb9
commit f8d1cc7aed
1 changed files with 6 additions and 7 deletions

View File

@ -1806,7 +1806,7 @@ void CSerialPort::writeFMData(const uint8_t* data, uint16_t length)
reply[2U] = (length + 4U) - 255U; reply[2U] = (length + 4U) - 255U;
reply[3U] = MMDVM_FM_DATA; reply[3U] = MMDVM_FM_DATA;
for (uint8_t i = 0U; i < length; i++) for (uint16_t i = 0U; i < length; i++)
reply[i + 4U] = data[i]; reply[i + 4U] = data[i];
writeInt(1U, reply, length + 4U); writeInt(1U, reply, length + 4U);
@ -1814,7 +1814,7 @@ void CSerialPort::writeFMData(const uint8_t* data, uint16_t length)
reply[1U] = length + 3U; reply[1U] = length + 3U;
reply[2U] = MMDVM_FM_DATA; reply[2U] = MMDVM_FM_DATA;
for (uint8_t i = 0U; i < length; i++) for (uint16_t i = 0U; i < length; i++)
reply[i + 3U] = data[i]; reply[i + 3U] = data[i];
writeInt(1U, reply, length + 3U); writeInt(1U, reply, length + 3U);
@ -1875,7 +1875,7 @@ void CSerialPort::writeAX25Data(const uint8_t* data, uint16_t length)
reply[2U] = (length + 4U) - 255U; reply[2U] = (length + 4U) - 255U;
reply[3U] = MMDVM_AX25_DATA; reply[3U] = MMDVM_AX25_DATA;
for (uint8_t i = 0U; i < length; i++) for (uint16_t i = 0U; i < length; i++)
reply[i + 4U] = data[i]; reply[i + 4U] = data[i];
writeInt(1U, reply, length + 4U); writeInt(1U, reply, length + 4U);
@ -1883,7 +1883,7 @@ void CSerialPort::writeAX25Data(const uint8_t* data, uint16_t length)
reply[1U] = length + 3U; reply[1U] = length + 3U;
reply[2U] = MMDVM_AX25_DATA; reply[2U] = MMDVM_AX25_DATA;
for (uint8_t i = 0U; i < length; i++) for (uint16_t i = 0U; i < length; i++)
reply[i + 3U] = data[i]; reply[i + 3U] = data[i];
writeInt(1U, reply, length + 3U); writeInt(1U, reply, length + 3U);
@ -2110,7 +2110,7 @@ void CSerialPort::writeDebugDump(const uint8_t* data, uint16_t length)
reply[2U] = (length + 4U) - 255U; reply[2U] = (length + 4U) - 255U;
reply[3U] = MMDVM_DEBUG_DUMP; reply[3U] = MMDVM_DEBUG_DUMP;
for (uint8_t i = 0U; i < length; i++) for (uint16_t i = 0U; i < length; i++)
reply[i + 4U] = data[i]; reply[i + 4U] = data[i];
writeInt(1U, reply, length + 4U); writeInt(1U, reply, length + 4U);
@ -2118,10 +2118,9 @@ void CSerialPort::writeDebugDump(const uint8_t* data, uint16_t length)
reply[1U] = length + 3U; reply[1U] = length + 3U;
reply[2U] = MMDVM_DEBUG_DUMP; reply[2U] = MMDVM_DEBUG_DUMP;
for (uint8_t i = 0U; i < length; i++) for (uint16_t i = 0U; i < length; i++)
reply[i + 3U] = data[i]; reply[i + 3U] = data[i];
writeInt(1U, reply, length + 3U); writeInt(1U, reply, length + 3U);
} }
} }