Fixed reading FLI/FLC images with a prefix chunk by twolife · Pull Request #7804 · python-pillow/Pillow

Conversation

@twolife

fix FLC decoder for files with prefix chunk

without the seek() the decoder continues to read bytes in the prefixchunk and have zero chance to find the 0xF1FA magic number ut needs just after

@hugovk

Please could you add a test that fails without the fix, and passes with it?

@twolife

This is reproducible with this sample : https://samples.ffmpeg.org/fli-flc/2422.FLC

from PIL import Image, ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
im = Image.open("2422.FLC")
im.seek(15)
im.save('frame15.png')

You get garbage without the patch and a clean image with the patch

@hugovk

Can you write a unit test, with an image that can be contributed under Pillow's licence?

A unit test helps ensure this doesn't break in the future.

@radarhere radarhere changed the title fix FLI/FLC decoder for files with a prefix chunk Fix FLI/FLC decoder for files with a prefix chunk

Feb 16, 2024

@twolife

radarhere

hugovk

radarhere

radarhere

radarhere

radarhere

radarhere

radarhere

@hugovk

@radarhere radarhere changed the title Fix FLI/FLC decoder for files with a prefix chunk Fixed reading FLI/FLC images with a prefix chunk

Feb 22, 2024