[llvm-objdump] improve error reporting of bad mach-o ordinals
authorNick Kledzik <kledzik@apple.com>
Tue, 16 Sep 2014 22:03:13 +0000 (22:03 +0000)
committerNick Kledzik <kledzik@apple.com>
Tue, 16 Sep 2014 22:03:13 +0000 (22:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217909 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-objdump/MachODump.cpp

index 871e7d16ece152da73b82723cb34aa6556aacf0b..602e80028007f6eff2012f89a83b657da99d82a2 100644 (file)
@@ -2446,9 +2446,15 @@ static StringRef ordinalName(const object::MachOObjectFile *Obj, int Ordinal) {
   case MachO::BIND_SPECIAL_DYLIB_FLAT_LOOKUP:
     return "flat-namespace";
   default:
-    Obj->getLibraryShortNameByIndex(Ordinal-1, DylibName);
-    return DylibName;
+    if (Ordinal > 0) {
+      std::error_code EC = Obj->getLibraryShortNameByIndex(Ordinal-1, 
+                                                           DylibName);
+      if (EC)
+        return "<<ordinal too big>>";
+      return DylibName;
+    }
   }
+  return "<<unknown special ordinal>>";
 }
 
 //===----------------------------------------------------------------------===//