FrameSender: fix memory corruption while writing to the QCanBusFrame with empty payload

This commit is contained in:
Alexey Esaulenko
2024-01-19 15:00:15 +04:00
parent fa707ab2da
commit 0885149492
2 changed files with 1 additions and 3 deletions
-2
View File
@@ -1054,8 +1054,6 @@ void FrameSenderWindow::processCellChange(int line, int col)
}
break;
case ST_COLS::SENDTAB_COL_DATA: //Data bytes
for (int i = 0; i < 8; i++) sendingData[line].payload().data()[i] = 0;
#if QT_VERSION >= QT_VERSION_CHECK( 5, 14, 0 )
tokens = ui->tableSender->item(line, ST_COLS::SENDTAB_COL_DATA)->text().split(" ", Qt::SkipEmptyParts);
#else
+1 -1
View File
@@ -851,7 +851,7 @@ void FlowViewWindow::updatePosition(bool forward)
int maxVal = qMin(chunk * 8 + 8, frameCache.at(currentPosition).payload().length());
for (int i = chunk * 8; i < maxVal; i++)
{
unsigned char thisByte = static_cast<unsigned char>(frameCache.at(currentPosition).payload().data()[i]);
unsigned char thisByte = static_cast<unsigned char>(frameCache.at(currentPosition).payload()[i]);
cngByte = currBytes[i] ^ thisByte;
changedBits |= (uint64_t)cngByte << (8ull * (i & 7));
}