From 36575f0cb10da7cf6c2b2a11f86d536f6de11429 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Thu, 28 Apr 2016 23:24:23 +0000 Subject: [PATCH] [llvm-pdbdump] Correctly read data larger than a block A bug was introduced when the code was refactored which resulted in a bad memory access. This fixes PR27565. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267953 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/DebugInfo/PDB/Raw/PDBStream.cpp | 40 +- test/DebugInfo/PDB/Inputs/big-read.pdb | Bin 0 -> 405504 bytes test/DebugInfo/PDB/pdbdump-headers.test | 1028 +++++++++++++++++++++-- 3 files changed, 990 insertions(+), 78 deletions(-) create mode 100644 test/DebugInfo/PDB/Inputs/big-read.pdb diff --git a/lib/DebugInfo/PDB/Raw/PDBStream.cpp b/lib/DebugInfo/PDB/Raw/PDBStream.cpp index 7146f4d11a2..6db04a55970 100644 --- a/lib/DebugInfo/PDB/Raw/PDBStream.cpp +++ b/lib/DebugInfo/PDB/Raw/PDBStream.cpp @@ -13,9 +13,9 @@ using namespace llvm; PDBStream::PDBStream(uint32_t StreamIdx, const PDBFile &File) : Pdb(File) { - this->StreamLength = Pdb.getStreamByteSize(StreamIdx); - this->BlockList = Pdb.getStreamBlockList(StreamIdx); - this->Offset = 0; + StreamLength = Pdb.getStreamByteSize(StreamIdx); + BlockList = Pdb.getStreamBlockList(StreamIdx); + Offset = 0; } std::error_code PDBStream::readInteger(uint32_t &Dest) { @@ -41,34 +41,20 @@ std::error_code PDBStream::readBytes(void *Dest, uint32_t Length) { uint32_t OffsetInBlock = Offset % Pdb.getBlockSize(); // Make sure we aren't trying to read beyond the end of the stream. - if (this->Offset + Length > this->StreamLength) + if (Length > StreamLength) + return std::make_error_code(std::errc::bad_address); + if (Offset > StreamLength - Length) return std::make_error_code(std::errc::bad_address); - // Modify the passed in offset to point to the data after the object. - Offset += Length; - - // Handle the contiguous case: the offset + size stays within a block. - if (OffsetInBlock + Length <= Pdb.getBlockSize()) { - uint32_t StreamBlockAddr = this->BlockList[BlockNum]; - - StringRef Data = Pdb.getBlockData(StreamBlockAddr, Pdb.getBlockSize()); - ::memcpy(Dest, Data.data() + OffsetInBlock, Length); - return std::error_code(); - } - - // The non-contiguous case: we will stitch together non-contiguous chunks uint32_t BytesLeft = Length; uint32_t BytesWritten = 0; char *WriteBuffer = static_cast(Dest); while (BytesLeft > 0) { - uint32_t StreamBlockAddr = this->BlockList[BlockNum]; - uint64_t StreamBlockOffset = - PDBFile::blockToOffset(StreamBlockAddr, Pdb.getBlockSize()) + - OffsetInBlock; + uint32_t StreamBlockAddr = BlockList[BlockNum]; StringRef Data = Pdb.getBlockData(StreamBlockAddr, Pdb.getBlockSize()); - const char *ChunkStart = Data.data() + StreamBlockOffset; + const char *ChunkStart = Data.data() + OffsetInBlock; uint32_t BytesInChunk = std::min(BytesLeft, Pdb.getBlockSize() - OffsetInBlock); ::memcpy(WriteBuffer + BytesWritten, ChunkStart, BytesInChunk); @@ -78,11 +64,15 @@ std::error_code PDBStream::readBytes(void *Dest, uint32_t Length) { ++BlockNum; OffsetInBlock = 0; } + + // Modify the offset to point to the data after the object. + Offset += Length; + return std::error_code(); } -void PDBStream::setOffset(uint32_t O) { this->Offset = O; } +void PDBStream::setOffset(uint32_t O) { Offset = O; } -uint32_t PDBStream::getOffset() const { return this->Offset; } +uint32_t PDBStream::getOffset() const { return Offset; } -uint32_t PDBStream::getLength() const { return this->StreamLength; } +uint32_t PDBStream::getLength() const { return StreamLength; } diff --git a/test/DebugInfo/PDB/Inputs/big-read.pdb b/test/DebugInfo/PDB/Inputs/big-read.pdb new file mode 100644 index 0000000000000000000000000000000000000000..9d9086874e5f94e9b0202df916e044a1665c0a0a GIT binary patch literal 405504 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