This commit is contained in:
Alex Matrosov 2018-01-22 23:58:29 -08:00
parent 3ffdae1123
commit 9d623c91e6
2 changed files with 15 additions and 12 deletions

View file

@ -871,9 +871,8 @@ UINT8 FfsEngine::parseBios(const QByteArray & bios, const QModelIndex & parent)
if (msgUnknownRevision) if (msgUnknownRevision)
msg(tr("parseBios: unknown volume revision %1").arg(volumeHeader->Revision), index); msg(tr("parseBios: unknown volume revision %1").arg(volumeHeader->Revision), index);
if (msgSizeMismach) if (msgSizeMismach)
msg(tr("parseBios: volume size stored in header %1h (%2) differs from calculated using block map %3h (%4)") msg(tr("parseBios: volume size stored in header %1h differs from calculated using block map %3h")
.hexarg(volumeSize).arg(volumeSize) .hexarg(volumeSize).arg(bmVolumeSize),
.hexarg(bmVolumeSize).arg(bmVolumeSize),
index); index);
// Go to next volume // Go to next volume
@ -1253,12 +1252,16 @@ UINT8 FfsEngine::parseFile(const QByteArray & file, QModelIndex & index, const U
UINT8 calculatedData = 0; UINT8 calculatedData = 0;
if (fileHeader->Attributes & FFS_ATTRIB_CHECKSUM) { if (fileHeader->Attributes & FFS_ATTRIB_CHECKSUM) {
calculatedData = calculateChecksum8((const UINT8*)body.constData(), body.size()); calculatedData = calculateChecksum8((const UINT8*)body.constData(), body.size());
if (fileHeader->IntegrityCheck.Checksum.File != calculatedData)
msgInvalidDataChecksum = true;
} }
// Data checksum must be one of predefined values // Data checksum must be one of predefined values
else if ((revision == 1 && fileHeader->IntegrityCheck.Checksum.File != FFS_FIXED_CHECKSUM) else if (revision == 1) {
|| fileHeader->IntegrityCheck.Checksum.File != FFS_FIXED_CHECKSUM2) calculatedData = FFS_FIXED_CHECKSUM;
}
else {
calculatedData = FFS_FIXED_CHECKSUM2;
}
if (fileHeader->IntegrityCheck.Checksum.File != calculatedData)
msgInvalidDataChecksum = true; msgInvalidDataChecksum = true;
// Parse current file by default // Parse current file by default

View file

@ -17,7 +17,7 @@
UEFITool::UEFITool(QWidget *parent) : UEFITool::UEFITool(QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
ui(new Ui::UEFITool), ui(new Ui::UEFITool),
version(tr("0.22.1")) version(tr("0.22.2"))
{ {
clipboard = QApplication::clipboard(); clipboard = QApplication::clipboard();