OSDN Git Service

Simplify.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 19 Oct 2017 01:32:18 +0000 (01:32 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 19 Oct 2017 01:32:18 +0000 (01:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316144 91177308-0d34-0410-b5e6-96231b3b80d8

lib/BinaryFormat/Magic.cpp

index db8e952..42546ea 100644 (file)
@@ -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;