@@ -17,20 +17,19 @@ using namespace swift;
17
17
18
18
Error ExponentialGrowthAppendingBinaryByteStream::readBytes (
19
19
uint32_t Offset, uint32_t Size, ArrayRef<uint8_t > &Buffer) {
20
- if (Offset > getLength ())
21
- return make_error<BinaryStreamError>(stream_error_code::invalid_offset);
22
-
23
- if (Offset + Size > getLength ())
24
- return make_error<BinaryStreamError>(stream_error_code::stream_too_short);
25
-
20
+ if (auto Error = checkOffsetForRead (Offset, Size)) {
21
+ return Error;
22
+ }
23
+
26
24
Buffer = ArrayRef<uint8_t >(Data.data () + Offset, Size);
27
25
return Error::success ();
28
26
}
29
27
30
28
Error ExponentialGrowthAppendingBinaryByteStream::readLongestContiguousChunk (
31
29
uint32_t Offset, ArrayRef<uint8_t > &Buffer) {
32
- if (Offset > getLength ())
33
- return make_error<BinaryStreamError>(stream_error_code::invalid_offset);
30
+ if (auto Error = checkOffsetForRead (Offset, 0 )) {
31
+ return Error;
32
+ }
34
33
35
34
Buffer = ArrayRef<uint8_t >(Data.data () + Offset, Data.size () - Offset);
36
35
return Error::success ();
@@ -45,9 +44,10 @@ Error ExponentialGrowthAppendingBinaryByteStream::writeBytes(
45
44
if (Buffer.empty ())
46
45
return Error::success ();
47
46
48
- if (Offset > getLength ())
49
- return make_error<BinaryStreamError>(stream_error_code::invalid_offset);
50
-
47
+ if (auto Error = checkOffsetForWrite (Offset, Buffer.size ())) {
48
+ return Error;
49
+ }
50
+
51
51
// Resize the internal buffer if needed.
52
52
uint32_t RequiredSize = Offset + Buffer.size ();
53
53
if (RequiredSize > Data.size ()) {
0 commit comments