|
|
|
@ -2,6 +2,7 @@ |
|
|
|
// Licensed under the Apache License, Version 2.0.
|
|
|
|
|
|
|
|
using System.IO; |
|
|
|
using System.IO.Compression; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using SixLabors.ImageSharp.Formats; |
|
|
|
using SixLabors.ImageSharp.Tests.TestUtilities; |
|
|
|
@ -138,6 +139,32 @@ namespace SixLabors.ImageSharp.Tests |
|
|
|
Assert.Null(type); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void FromStream_ZeroLength_ReturnsNull() |
|
|
|
{ |
|
|
|
// https://github.com/SixLabors/ImageSharp/issues/1903
|
|
|
|
using var zipFile = new ZipArchive(new MemoryStream( |
|
|
|
new byte[] |
|
|
|
{ |
|
|
|
0x50, 0x4B, 0x03, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0xAF, |
|
|
|
0x94, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x6D, 0x79, 0x73, 0x74, 0x65, 0x72, |
|
|
|
0x79, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x77, 0xAF, 0x94, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, |
|
|
|
0x79, 0x73, 0x74, 0x65, 0x72, 0x79, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x46, 0x82, 0xFF, 0x91, 0x27, 0xF6, |
|
|
|
0xD7, 0x01, 0x55, 0xA1, 0xF9, 0x91, 0x27, 0xF6, 0xD7, 0x01, 0x55, 0xA1, |
|
|
|
0xF9, 0x91, 0x27, 0xF6, 0xD7, 0x01, 0x50, 0x4B, 0x05, 0x06, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x59, 0x00, 0x00, 0x00, 0x25, 0x00, |
|
|
|
0x00, 0x00, 0x00, 0x00 |
|
|
|
})); |
|
|
|
using Stream stream = zipFile.Entries[0].Open(); |
|
|
|
IImageInfo info = Image.Identify(stream); |
|
|
|
Assert.Null(info); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task FromStreamAsync_GlobalConfiguration_NoFormat() |
|
|
|
{ |
|
|
|
@ -188,6 +215,32 @@ namespace SixLabors.ImageSharp.Tests |
|
|
|
Assert.Equal(ExpectedGlobalFormat, res.Format); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task FromStreamAsync_ZeroLength_ReturnsNull() |
|
|
|
{ |
|
|
|
// https://github.com/SixLabors/ImageSharp/issues/1903
|
|
|
|
using var zipFile = new ZipArchive(new MemoryStream( |
|
|
|
new byte[] |
|
|
|
{ |
|
|
|
0x50, 0x4B, 0x03, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0xAF, |
|
|
|
0x94, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x6D, 0x79, 0x73, 0x74, 0x65, 0x72, |
|
|
|
0x79, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x77, 0xAF, 0x94, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6D, |
|
|
|
0x79, 0x73, 0x74, 0x65, 0x72, 0x79, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x46, 0x82, 0xFF, 0x91, 0x27, 0xF6, |
|
|
|
0xD7, 0x01, 0x55, 0xA1, 0xF9, 0x91, 0x27, 0xF6, 0xD7, 0x01, 0x55, 0xA1, |
|
|
|
0xF9, 0x91, 0x27, 0xF6, 0xD7, 0x01, 0x50, 0x4B, 0x05, 0x06, 0x00, 0x00, |
|
|
|
0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x59, 0x00, 0x00, 0x00, 0x25, 0x00, |
|
|
|
0x00, 0x00, 0x00, 0x00 |
|
|
|
})); |
|
|
|
using Stream stream = zipFile.Entries[0].Open(); |
|
|
|
IImageInfo info = await Image.IdentifyAsync(stream); |
|
|
|
Assert.Null(info); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task FromPathAsync_CustomConfiguration() |
|
|
|
{ |
|
|
|
|