Skip to content
New issue

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

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

Already on GitHub? # to your account

v3.1.x Fix 2758 #2759

Merged
merged 2 commits into from
Jul 7, 2024
Merged

v3.1.x Fix 2758 #2759

merged 2 commits into from
Jul 7, 2024

Conversation

JimBobSquarePants
Copy link
Member

@JimBobSquarePants JimBobSquarePants commented Jun 27, 2024

Prerequisites

  • I have written a descriptive pull-request title
  • I have verified that there are no overlapping pull-requests open
  • I have verified that I am following the existing coding patterns and practice as demonstrated in the repository. These follow strict Stylecop rules 👮.
  • I have provided test coverage for my change (where applicable)

Description

Fixes #2758

I cannot include the images in the tests as I was unable to open a FileExplorer instance containing them without crashing in my Windows 11 instance.

Still not sure what's going on with the provided repo, but I have added the relevant test images and tests.

@antonfirsov
Copy link
Member

Looks like it's breaking other gif use-cases?

I plan to also take a look in the weekend and the add test images. For me File Explorer works on Win11 for the folder.

@JimBobSquarePants
Copy link
Member Author

Looks like it's breaking other gif use-cases?

I plan to also take a look in the weekend and the add test images. For me File Explorer works on Win11 for the folder.

@antonfirsov My first attempt was bad as I misunderstood the problem.

I've now refactored the LZW decoder to run row-by-row, so we only allocate enough bytes for a single row rather than the full buffer. In this case this brings down the allocation from 4GB to 64K. This should mean a massive win across the board.

@JimBobSquarePants JimBobSquarePants linked an issue Jun 28, 2024 that may be closed by this pull request
4 tasks
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Payloads that caused a DOS attack (GIF / JPEG)
2 participants