[PATCH] D32466: [llvm-objdump] Don't attempt to print lines beyond the end of file
Petr Hosek via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 24 19:41:54 PDT 2017
phosek created this revision.
This triggers a segfault in llvm-objdump.
Repository:
rL LLVM
https://reviews.llvm.org/D32466
Files:
tools/llvm-objdump/llvm-objdump.cpp
Index: tools/llvm-objdump/llvm-objdump.cpp
===================================================================
--- tools/llvm-objdump/llvm-objdump.cpp
+++ tools/llvm-objdump/llvm-objdump.cpp
@@ -485,10 +485,13 @@
auto FileBuffer = SourceCache.find(LineInfo.FileName);
if (FileBuffer != SourceCache.end()) {
auto LineBuffer = LineCache.find(LineInfo.FileName);
- if (LineBuffer != LineCache.end())
+ if (LineBuffer != LineCache.end()) {
+ if (LineInfo.Line > LineBuffer->second.size())
+ return;
// Vector begins at 0, line numbers are non-zero
OS << Delimiter << LineBuffer->second[LineInfo.Line - 1].ltrim()
<< "\n";
+ }
}
}
OldLineInfo = LineInfo;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32466.96494.patch
Type: text/x-patch
Size: 739 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170425/05a39ef4/attachment.bin>
More information about the llvm-commits
mailing list