Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image.Load throws AccessViolationException #827

Closed
4 tasks done
Metalnem opened this issue Jan 28, 2019 · 0 comments
Closed
4 tasks done

Image.Load throws AccessViolationException #827

Metalnem opened this issue Jan 28, 2019 · 0 comments
Assignees
Projects
Milestone

Comments

@Metalnem
Copy link

Prerequisites

  • I have written a descriptive issue title
  • I have verified that I am running the latest version of ImageSharp
  • I have verified if the problem exist in both DEBUG and RELEASE mode
  • I have searched open and closed issues to ensure it has not already been reported

Description

Image.Load throws AccessViolationException when loading malformed JPG file.

Steps to Reproduce

Run the following code snippet with the path variable containing the path to the file from the attached archive:

Image.Load(path);

You will get the following stack trace:

SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.HuffmanTable.HuffmanTable(SixLabors.Memory.MemoryAllocator memoryAllocator, System.ReadOnlySpan<byte> codeLengths, System.ReadOnlySpan<byte> values = "System.ReadOnlySpan<Byte>[1034377664]")	Unknown
SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Formats.Jpeg.JpegDecoderCore.ProcessDefineHuffmanTablesMarker(int remaining = 21)	Unknown
SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Formats.Jpeg.JpegDecoderCore.ParseStream(System.IO.Stream stream, bool metadataOnly = false)	Unknown
SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Formats.Jpeg.JpegDecoderCore.Decode<SixLabors.ImageSharp.PixelFormats.Rgba32>(System.IO.Stream stream)	Unknown
SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Formats.Jpeg.JpegDecoder.Decode<SixLabors.ImageSharp.PixelFormats.Rgba32>(SixLabors.ImageSharp.Configuration configuration, System.IO.Stream stream)	Unknown
SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Image.Decode<SixLabors.ImageSharp.PixelFormats.Rgba32>(System.IO.Stream stream, SixLabors.ImageSharp.Configuration config)	Unknown
SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Image.WithSeekableStream<System.ValueTuple<System.__Canon, System.__Canon>>(SixLabors.ImageSharp.Configuration config, System.IO.Stream stream, System.Func<System.IO.Stream, (System.__Canon, System.__Canon)> action)	Unknown
SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Image.Load<SixLabors.ImageSharp.PixelFormats.Rgba32>(SixLabors.ImageSharp.Configuration config, System.IO.Stream stream, out SixLabors.ImageSharp.Formats.IImageFormat format = null)	Unknown
SixLabors.ImageSharp.dll!SixLabors.ImageSharp.Image.Load<SixLabors.ImageSharp.PixelFormats.Rgba32>(SixLabors.ImageSharp.Configuration config, byte[] data)	Unknown

System Configuration

  • ImageSharp version: Beta 6
  • Environment (Operating system, version and so on): Windows 10 Pro 1803
  • .NET Framework version: .NET Core 2.2.102

Found via SharpFuzz.

@JimBobSquarePants JimBobSquarePants self-assigned this Feb 13, 2019
@JimBobSquarePants JimBobSquarePants added this to To Do in ImageSharp via automation Feb 13, 2019
@JimBobSquarePants JimBobSquarePants added this to the 1.0.0-rc1 milestone Feb 13, 2019
@JimBobSquarePants JimBobSquarePants mentioned this issue Feb 15, 2019
11 tasks
ImageSharp automation moved this from To Do to Done Feb 17, 2019
antonfirsov pushed a commit to antonfirsov/ImageSharp that referenced this issue Nov 11, 2019
* Nomalize jpeg exceptions. Fix SixLabors#821

* Fix SixLabors#822

* Fix SixLabors#823

* Check for correct QT index. Touch SixLabors#824

* Check DHT props. Touch SixLabors#824

* Limit sampling factors to 1 & 2. Touch SixLabors#824

* Add already fixed image 4. Touch SixLabors#824

* Check for excessive code lengths. Touch SixLabors#824

* Add already fixed image 6. Touch SixLabors#824

* Lint progressive scan details. Touch SixLabors#824

* Add already fixed image 8. Fix SixLabors#824

* Remove duplicate per-block checks

* Add already fixed image 1. Touch SixLabors#825

* Don't throw on bad JFIF density units.

* Add already fixed image 3. Touch SixLabors#825

* Add already fixed image 4. Fix SixLabors#825

* Check SOFn marker length. Touch SixLabors#826

* Add already fixed image 2. Touch SixLabors#826

* Add already fixed image 3. Fix SixLabors#826

* Add fixed already fixed image. Fix SixLabors#827

* Revert unneeded bounds check introduced in SixLabors#804
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
ImageSharp
  
Done
Development

No branches or pull requests

2 participants