From 0ff69248ecd033030cd80da9fdd0ef4f3f4310bf Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Wed, 19 Aug 2020 17:18:36 +0100 Subject: [PATCH] Fix read count. --- src/ImageSharp/IO/ChunkedMemoryStream.cs | 2 +- tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/IO/ChunkedMemoryStream.cs b/src/ImageSharp/IO/ChunkedMemoryStream.cs index 77a317409..2d895245c 100644 --- a/src/ImageSharp/IO/ChunkedMemoryStream.cs +++ b/src/ImageSharp/IO/ChunkedMemoryStream.cs @@ -295,7 +295,7 @@ namespace SixLabors.ImageSharp.IO } int readCount = Math.Min(count, chunkSize - this.readOffset); - chunkBuffer.Slice(this.readOffset, count).CopyTo(buffer.Slice(offset)); + chunkBuffer.Slice(this.readOffset, readCount).CopyTo(buffer.Slice(offset)); offset += readCount; count -= readCount; this.readOffset += readCount; diff --git a/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs b/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs index 822e71513..ceef8f7ff 100644 --- a/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs +++ b/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs @@ -300,7 +300,7 @@ namespace SixLabors.ImageSharp.Tests.IO public static TheoryData GetAllTestImages() { IEnumerable allImageFiles = Directory.EnumerateFiles(TestEnvironment.InputImagesDirectoryFullPath, "*.*", SearchOption.AllDirectories) - .Where(s => !s.ToLower().EndsWith("txt")); + .Where(s => !s.EndsWith("txt", StringComparison.OrdinalIgnoreCase)); var result = new TheoryData(); foreach (string path in allImageFiles) { @@ -314,7 +314,12 @@ namespace SixLabors.ImageSharp.Tests.IO [MemberData(nameof(GetAllTestImages))] public void DecoderIntegrationTest(string testFileFullPath) { - Image expected = null; + if (!TestEnvironment.Is64BitProcess) + { + return; + } + + Image expected; try { expected = Image.Load(testFileFullPath); @@ -326,7 +331,7 @@ namespace SixLabors.ImageSharp.Tests.IO } using FileStream fs = File.OpenRead(testFileFullPath); - using NonSeekableStream nonSeekableStream = new NonSeekableStream(fs); + using var nonSeekableStream = new NonSeekableStream(fs); var actual = Image.Load(nonSeekableStream);