diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2018-12-12 12:46:44 +1300 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2019-01-16 15:47:09 +1300 |
commit | 88ceed9ed1e823ffd797df798d429d15bc7efd39 (patch) | |
tree | df02ce09e148825988eeb175528925148baefb25 /tests | |
parent | b9b12bfd5c6f8394cc9a4a548bd6dc0f5fb2f70b (diff) | |
download | gdk-pixbuf-88ceed9ed1e823ffd797df798d429d15bc7efd39.tar.gz |
gif: Fix clear code handling when at end of a block
The following was occurring:
1. A clear code is detected in the LZW stream.
2. The decoder enters a clear code handling state.
3. The decoder looks for the next code after the clear.
4. The decoder has run out of blocks, so enters a state to get new blocks
The issue is in step 4 the decoder has assumed the clear state is complete,
when it is not. The solution is to only complete the clear state once a
non clear code is read.
This caused the "Circular table entry in GIF file" error for some GIFs.
Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues/27
Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues/69
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions