[BinaryFormat] Fix out of bounds read.
Found by OSS-FUZZ! https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3220 llvm-svn: 312238
This commit is contained in:
@@ -182,7 +182,7 @@ file_magic llvm::identify_magic(StringRef Magic) {
|
||||
break;
|
||||
|
||||
case 'M': // Possible MS-DOS stub on Windows PE file
|
||||
if (startswith(Magic, "MZ")) {
|
||||
if (startswith(Magic, "MZ") && Magic.size() >= 0x3c + 4) {
|
||||
uint32_t off = read32le(Magic.data() + 0x3c);
|
||||
// PE/COFF file, either EXE or DLL.
|
||||
if (off < Magic.size() &&
|
||||
|
||||
Reference in New Issue
Block a user