strnlen isn't available on some platforms, use StringRef instead
authorDavid Majnemer <david.majnemer@gmail.com>
Sat, 20 Dec 2014 08:24:43 +0000 (08:24 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sat, 20 Dec 2014 08:24:43 +0000 (08:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224679 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-objdump/MachODump.cpp

index 9f5216bffae6214693793b26f8afe5882d589ebf..75ad4aa8b9b5c6ef82ca7265f72587b8b358352a 100644 (file)
@@ -3664,7 +3664,8 @@ static void PrintLinkerOptionCommand(MachO::linker_option_command lo,
     if (left > 0) {
       i++;
       outs() << "  string #" << i << " " << format("%.*s\n", left, string);
-      uint32_t len = strnlen(string, left) + 1;
+      uint32_t NullPos = StringRef(string, left).find('\0');
+      uint32_t len = std::min(NullPos, left) + 1;
       string += len;
       left -= len;
     }