diff options
author | Justin Bogner <mail@justinbogner.com> | 2016-11-03 18:28:04 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2016-11-03 18:28:04 +0000 |
commit | f9fb2abb01ea82a43b5938e3a24de9d8c6790e46 (patch) | |
tree | 757660f33ba2e98112616b8b9ac1a931ea0a115f /llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp | |
parent | 271194016acfe2b4eb51733ee7938abf81245cdd (diff) | |
download | bcm5719-llvm-f9fb2abb01ea82a43b5938e3a24de9d8c6790e46.tar.gz bcm5719-llvm-f9fb2abb01ea82a43b5938e3a24de9d8c6790e46.zip |
PDB: Fix some APIs to avoid use-after-frees
The buffer is already owned by the PDBFile for all of these APIs, so
don't pass it in separately.
llvm-svn: 285953
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp b/llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp index 733efe882a2..d8bae59195c 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp @@ -99,16 +99,15 @@ Error TpiStreamBuilder::finalizeMsfLayout() { return Error::success(); } -Expected<std::unique_ptr<TpiStream>> -TpiStreamBuilder::build(PDBFile &File, const msf::WritableStream &Buffer) { +Expected<std::unique_ptr<TpiStream>> TpiStreamBuilder::build(PDBFile &File) { if (!VerHeader.hasValue()) return make_error<RawError>(raw_error_code::unspecified, "Missing TPI Stream Version"); if (auto EC = finalize()) return std::move(EC); - auto StreamData = - MappedBlockStream::createIndexedStream(File.getMsfLayout(), Buffer, Idx); + auto StreamData = MappedBlockStream::createIndexedStream( + File.getMsfLayout(), File.getMsfBuffer(), Idx); auto Tpi = llvm::make_unique<TpiStream>(File, std::move(StreamData)); Tpi->Header = Header; Tpi->TypeRecords = VarStreamArray<codeview::CVType>(TypeRecordStream); |