diff --git a/unittests/DebugInfo/PDB/BinaryStreamTest.cpp b/unittests/DebugInfo/PDB/BinaryStreamTest.cpp index b7308868e05..56552d573ce 100644 --- a/unittests/DebugInfo/PDB/BinaryStreamTest.cpp +++ b/unittests/DebugInfo/PDB/BinaryStreamTest.cpp @@ -13,7 +13,6 @@ #include "llvm/DebugInfo/MSF/BinaryStreamReader.h" #include "llvm/DebugInfo/MSF/BinaryStreamRef.h" #include "llvm/DebugInfo/MSF/BinaryStreamWriter.h" -#include "llvm/Support/Errc.h" #include "gtest/gtest.h" #include @@ -56,8 +55,8 @@ public: Error readBytes(uint32_t Offset, uint32_t Size, ArrayRef &Buffer) override { - if (Offset + Size > Data.size()) - return errorCodeToError(make_error_code(llvm::errc::function_not_supported)); + if (auto EC = checkOffset(Offset, Size)) + return EC; uint32_t S = startIndex(Offset); auto Ref = Data.drop_front(S); if (Ref.size() >= Size) { @@ -75,8 +74,8 @@ public: Error readLongestContiguousChunk(uint32_t Offset, ArrayRef &Buffer) override { - if (Offset >= Data.size()) - return errorCodeToError(make_error_code(llvm::errc::function_not_supported)); + if (auto EC = checkOffset(Offset, 1)) + return EC; uint32_t S = startIndex(Offset); Buffer = Data.drop_front(S); return Error::success(); @@ -85,8 +84,8 @@ public: uint32_t getLength() override { return Data.size(); } Error writeBytes(uint32_t Offset, ArrayRef SrcData) override { - if (Offset + SrcData.size() > Data.size()) - return errorCodeToError(make_error_code(llvm::errc::function_not_supported)); + if (auto EC = checkOffset(Offset, SrcData.size())) + return EC; if (SrcData.empty()) return Error::success();