Skip to content

Commit ff265ab

Browse files
Remove Guard allocations
1 parent 398e3a7 commit ff265ab

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/ImageSharp/IO/ChunkedMemoryStream.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,9 @@ public override int Read(byte[] buffer, int offset, int count)
238238
Guard.NotNull(buffer, nameof(buffer));
239239
Guard.MustBeGreaterThanOrEqualTo(offset, 0, nameof(offset));
240240
Guard.MustBeGreaterThanOrEqualTo(count, 0, nameof(count));
241-
Guard.IsFalse(buffer.Length - offset < count, nameof(buffer), $"{offset} subtracted from the buffer length is less than {count}");
241+
242+
const string BufferMessage = "Offset subtracted from the buffer length is less than count.";
243+
Guard.IsFalse(buffer.Length - offset < count, nameof(buffer), BufferMessage);
242244

243245
return this.ReadImpl(buffer.AsSpan().Slice(offset, count));
244246
}
@@ -348,7 +350,16 @@ public override int ReadByte()
348350
/// <inheritdoc/>
349351
[MethodImpl(MethodImplOptions.AggressiveInlining)]
350352
public override void Write(byte[] buffer, int offset, int count)
351-
=> this.WriteImpl(buffer.AsSpan().Slice(offset, count));
353+
{
354+
Guard.NotNull(buffer, nameof(buffer));
355+
Guard.MustBeGreaterThanOrEqualTo(offset, 0, nameof(offset));
356+
Guard.MustBeGreaterThanOrEqualTo(count, 0, nameof(count));
357+
358+
const string BufferMessage = "Offset subtracted from the buffer length is less than count.";
359+
Guard.IsFalse(buffer.Length - offset < count, nameof(buffer), BufferMessage);
360+
361+
this.WriteImpl(buffer.AsSpan().Slice(offset, count));
362+
}
352363

353364
#if SUPPORTS_SPAN_STREAM
354365
/// <inheritdoc/>

0 commit comments

Comments
 (0)