From 1fea7c97d1cc191a0f991ed9d293c4c053e7417a Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Mon, 7 Aug 2017 20:24:01 +0000 Subject: [PATCH] [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 --- tools/llvm-pdbutil/DumpOutputStyle.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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), -- 2.11.0