aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-08-03 23:43:23 +0000
committerRui Ueyama <ruiu@google.com>2016-08-03 23:43:23 +0000
commitd1d8c8312a41f10f294978decc57c3f5dcfef205 (patch)
tree04296daf3e14251ce573762d15d9792afedeeefe /llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
parent965827d6742b5296cfbb247f88b2904dd75b9703 (diff)
downloadllvm-d1d8c8312a41f10f294978decc57c3f5dcfef205.zip
llvm-d1d8c8312a41f10f294978decc57c3f5dcfef205.tar.gz
llvm-d1d8c8312a41f10f294978decc57c3f5dcfef205.tar.bz2
pdbdump: Fix crash bug.
pdbdump calls DbiStreamBuilder::commit through PDBFileBuilder::commit without calling DbiStreamBuilder::finalize. Because `finalize` initializes `Header` member, `Header` remained nullptr which caused a crash bug. Differential Revision: https://reviews.llvm.org/D23143 llvm-svn: 277681
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp')
-rw-r--r--llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp b/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
index 711295d..b0bb4a0e 100644
--- a/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
+++ b/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
@@ -249,7 +249,10 @@ DbiStreamBuilder::build(PDBFile &File, const msf::WritableStream &Buffer) {
}
Error DbiStreamBuilder::commit(const msf::MSFLayout &Layout,
- const msf::WritableStream &Buffer) const {
+ const msf::WritableStream &Buffer) {
+ if (auto EC = finalize())
+ return EC;
+
auto InfoS =
WritableMappedBlockStream::createIndexedStream(Layout, Buffer, StreamDBI);