mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 04:39:44 +00:00
[pdb] Fix size check when reading stream bytes.
We were accidentally bounds checking the read against the output ArrayRef instead of against the size of the read. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271040 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
59250f2810
commit
fb799608d4
@ -26,9 +26,9 @@ MappedBlockStream::MappedBlockStream(uint32_t StreamIdx, const PDBFile &File) :
|
||||
Error MappedBlockStream::readBytes(uint32_t Offset, uint32_t Size,
|
||||
ArrayRef<uint8_t> &Buffer) const {
|
||||
// Make sure we aren't trying to read beyond the end of the stream.
|
||||
if (Buffer.size() > StreamLength)
|
||||
if (Size > StreamLength)
|
||||
return make_error<RawError>(raw_error_code::insufficient_buffer);
|
||||
if (Offset > StreamLength - Buffer.size())
|
||||
if (Offset > StreamLength - Size)
|
||||
return make_error<RawError>(raw_error_code::insufficient_buffer);
|
||||
|
||||
if (tryReadContiguously(Offset, Size, Buffer))
|
||||
|
Loading…
Reference in New Issue
Block a user