Fix a bug in Windows resource file detection.
authorRui Ueyama <ruiu@google.com>
Wed, 16 Oct 2013 03:29:49 +0000 (03:29 +0000)
committerRui Ueyama <ruiu@google.com>
Wed, 16 Oct 2013 03:29:49 +0000 (03:29 +0000)
The magic bytes should not include the trailing NUL byte.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192769 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Path.cpp

index 390614b9a5b95bdfa5b49223a582e675a1f87395..7fc9ab89672dcb38507aeed7d1e15fc71bae90dc 100644 (file)
@@ -849,7 +849,7 @@ error_code has_magic(const Twine &path, const Twine &magic, bool &result) {
   switch ((unsigned char)Magic[0]) {
     case 0x00: {
       // Windows resource file
-      const char Expected[] = "\0\0\0\0\x20\0\0\0\xff";
+      const char Expected[] = { 0, 0, 0, 0, '\x20', 0, 0, 0, '\xff' };
       if (Magic.size() >= sizeof(Expected) &&
           memcmp(Magic.data(), Expected, sizeof(Expected)) == 0)
         return file_magic::windows_resource;