diff --git a/common/ffsparser.cpp b/common/ffsparser.cpp index 2bde63b..9877d32 100644 --- a/common/ffsparser.cpp +++ b/common/ffsparser.cpp @@ -1249,8 +1249,8 @@ BOOLEAN FfsParser::microcodeHeaderValid(const INTEL_MICROCODE_HEADER* ucodeHeade return FALSE; } - // Check TotalSize to be greater then DataSize snd less than 0x1000000 - if (ucodeHeader->TotalSize <= ucodeHeader->DataSize || + // Check TotalSize to be greater or equal than DataSize and less than 0x1000000 + if (ucodeHeader->TotalSize < ucodeHeader->DataSize || ucodeHeader->TotalSize > 0xFFFFFF) { return FALSE; } diff --git a/common/fit.h b/common/fit.h index 8827bd0..62e4f43 100755 --- a/common/fit.h +++ b/common/fit.h @@ -61,7 +61,7 @@ typedef struct { // This scructure is described in Section 9.11.1 of the Intel Software Developer manual Volume 3A Part 1 typedef struct INTEL_MICROCODE_HEADER_ { UINT32 Version; // 0x00000001 - UINT32 Revision; // Sane values are less than 0x100 + UINT32 Revision; UINT16 DateYear; // BCD UINT8 DateDay; // BCD UINT8 DateMonth; // BCD