summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2016-11-03 18:28:04 +0000
committerJustin Bogner <mail@justinbogner.com>2016-11-03 18:28:04 +0000
commitf9fb2abb01ea82a43b5938e3a24de9d8c6790e46 (patch)
tree757660f33ba2e98112616b8b9ac1a931ea0a115f /llvm/lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp
parent271194016acfe2b4eb51733ee7938abf81245cdd (diff)
downloadbcm5719-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.cpp7
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);
OpenPOWER on IntegriCloud