diff options
author | Zachary Turner <zturner@google.com> | 2017-02-28 17:49:34 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-02-28 17:49:34 +0000 |
commit | d0b44fa788d1d6b66ef03130e24c536113c3ab97 (patch) | |
tree | 0aa1cc8c068b60f27534d428da1404eb2b949bca /llvm/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp | |
parent | 159f3bb80e8e85bed3426cf015c765a842383322 (diff) | |
download | bcm5719-llvm-d0b44fa788d1d6b66ef03130e24c536113c3ab97.tar.gz bcm5719-llvm-d0b44fa788d1d6b66ef03130e24c536113c3ab97.zip |
[PDB] Add BinaryStreamError.
This migrates the stream code away from MSFError to using its
own custom Error class.
llvm-svn: 296494
Diffstat (limited to 'llvm/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp')
-rw-r--r-- | llvm/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp b/llvm/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp index 42f38a2e2e4..abeb4211165 100644 --- a/llvm/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp +++ b/llvm/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp @@ -42,16 +42,16 @@ public: Error readBytes(uint32_t Offset, uint32_t Size, ArrayRef<uint8_t> &Buffer) override { - if (Offset + Size > Data.size()) - return make_error<MSFError>(msf_error_code::insufficient_buffer); + if (auto EC = checkOffset(Offset, Size)) + return EC; Buffer = Data.slice(Offset, Size); return Error::success(); } Error readLongestContiguousChunk(uint32_t Offset, ArrayRef<uint8_t> &Buffer) override { - if (Offset >= Data.size()) - return make_error<MSFError>(msf_error_code::insufficient_buffer); + if (auto EC = checkOffset(Offset, 1)) + return EC; Buffer = Data.drop_front(Offset); return Error::success(); } @@ -59,8 +59,8 @@ public: uint32_t getLength() override { return Data.size(); } Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> SrcData) override { - if (Offset + SrcData.size() > Data.size()) - return make_error<MSFError>(msf_error_code::insufficient_buffer); + if (auto EC = checkOffset(Offset, SrcData.size())) + return EC; ::memcpy(&Data[Offset], SrcData.data(), SrcData.size()); return Error::success(); } |