diff options
author | Rui Ueyama <ruiu@google.com> | 2016-08-03 23:43:23 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2016-08-03 23:43:23 +0000 |
commit | d1d8c8312a41f10f294978decc57c3f5dcfef205 (patch) | |
tree | 04296daf3e14251ce573762d15d9792afedeeefe /llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp | |
parent | 965827d6742b5296cfbb247f88b2904dd75b9703 (diff) | |
download | llvm-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.cpp | 5 |
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); |