Closed gieniowski closed 1 month ago
@JimBobSquarePants I did the update to the v3.1.4 and I experience the same behavior. Could you reopen the issue please?
Same issue with v3.1.4. But I had same behavior both on debug and release mode.
@hey-red was that file encoded using v3.1.4?
@gieniowski I cannot replicate your issue with the image and code provided with v3.1.4.
WebP files encoded using >= 3.1.0 and < v3.1.4 versions will still trigger an error because the encoder wrote over the reserved bytes.
@JimBobSquarePants Oh, sorry, no. I think this file was taken somewhere from web.
I got same exception "'reserved bytes should be zero'" while loading
using Image image = Image.Load(@"C:\file.webp");
However in browsers/paint.net I can view file without any issues.
I could get rid of the exception; it is a violation of the specification but harmless enough.
@JimBobSquarePants I'm not sure if this is the correct line, but it seems that libwebp is simply skip these reserved bytes without error. https://github.com/webmproject/libwebp/blob/main/src/demux/demux.c#L556
Yeah. That's the animated decoder (don't ask why they split everything out). They do the same in the standard one by reading the uint instead of each byte.
I don't know when I'll get round to it personally but if someone wants to PR against the release/v3.1.x branch I'll accept it.
Prerequisites
DEBUG
andRELEASE
modeImageSharp version
3.1.3
Other ImageSharp packages and versions
-
Environment (Operating system, version and so on)
Windows 11 with latest updates
.NET Framework version
net8.0.2
Description
I am upgrading version from 3.0.2. Apparently I have an issue when loading image previously created from a particular .jpeg file. Find out the code that reproduces issue below:
Image.LoadAsync("result.webp") throws this exception SixLabors.ImageSharp.ImageFormatException: 'reserved bytes should be zero'
NOTE: in fact it does not happen in release mode, just debug. I had to mark the checkbox though to create issue. Feel free to ignore it if you find the issue not valuable.
Steps to Reproduce
Open attached jpeg file with imagesharp Save it as webp Try to open new webp file again with imagesharp
Images