mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
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
This commit is contained in:
parent
c8c589f243
commit
68a326fe7b
@ -49,7 +49,7 @@ public:
|
||||
Expected<std::unique_ptr<DbiStream>> build(PDBFile &File,
|
||||
const msf::WritableStream &Buffer);
|
||||
Error commit(const msf::MSFLayout &Layout,
|
||||
const msf::WritableStream &Buffer) const;
|
||||
const msf::WritableStream &Buffer);
|
||||
|
||||
private:
|
||||
Error finalize();
|
||||
|
@ -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);
|
||||
|
||||
|
4
test/DebugInfo/PDB/pdbdump-readwrite.test
Normal file
4
test/DebugInfo/PDB/pdbdump-readwrite.test
Normal file
@ -0,0 +1,4 @@
|
||||
; RUN: llvm-pdbdump pdb2yaml -dbi-module-info -dbi-module-source-info \
|
||||
; RUN: -dbi-stream -pdb-stream -stream-directory -stream-metadata \
|
||||
; RUN: %p/Inputs/empty.pdb > %t.1
|
||||
; RUN: llvm-pdbdump yaml2pdb -pdb=%t.2 %t.1
|
Loading…
x
Reference in New Issue
Block a user