From: Zachary Turner Date: Mon, 7 Aug 2017 20:24:01 +0000 (+0000) Subject: [llvm-pdbutil] Don't crash when a section contrib's isect is invalid. X-Git-Tag: android-x86-7.1-r4~12447 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1fea7c97d1cc191a0f991ed9d293c4c053e7417a;p=android-x86%2Fexternal-llvm.git [llvm-pdbutil] Don't crash when a section contrib's isect is invalid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310298 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/llvm-pdbutil/DumpOutputStyle.cpp b/tools/llvm-pdbutil/DumpOutputStyle.cpp index 60e0b75172e..99dd358fbf9 100644 --- a/tools/llvm-pdbutil/DumpOutputStyle.cpp +++ b/tools/llvm-pdbutil/DumpOutputStyle.cpp @@ -1180,8 +1180,12 @@ Error DumpOutputStyle::dumpSectionContribs() { } void visit(const SectionContrib &SC) override { assert(SC.ISect > 0); - StringRef SectionName = Names[SC.ISect - 1]; - std::string NameInsert = formatv("[{0}]", SectionName).str(); + std::string NameInsert; + if (SC.ISect < Names.size()) { + StringRef SectionName = Names[SC.ISect - 1]; + NameInsert = formatv("[{0}]", SectionName).str(); + } else + NameInsert = "[???]"; P.formatLine("SC{5} | mod = {2}, {0}, size = {1}, data crc = {3}, reloc " "crc = {4}", formatSegmentOffset(SC.ISect, SC.Off), fmtle(SC.Size),