diff options
Diffstat (limited to 'lib/BinaryFormat/Magic.cpp')
-rw-r--r-- | lib/BinaryFormat/Magic.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/BinaryFormat/Magic.cpp b/lib/BinaryFormat/Magic.cpp index db8e9526e64..42546eaa732 100644 --- a/lib/BinaryFormat/Magic.cpp +++ b/lib/BinaryFormat/Magic.cpp @@ -185,8 +185,8 @@ file_magic llvm::identify_magic(StringRef Magic) { if (startswith(Magic, "MZ") && Magic.size() >= 0x3c + 4) { uint32_t off = read32le(Magic.data() + 0x3c); // PE/COFF file, either EXE or DLL. - if (off + sizeof(COFF::PEMagic) <= Magic.size() && - memcmp(Magic.data() + off, COFF::PEMagic, sizeof(COFF::PEMagic)) == 0) + if (Magic.substr(off).startswith( + StringRef(COFF::PEMagic, sizeof(COFF::PEMagic)))) return file_magic::pecoff_executable; } break; |