> I do not have much background in LZW compression or in C, but I'm reasonably > confident this resolves the problem I'm observing. It looks like the > GifImageDecoder was not always correctly handling compression codes after the > table reached its limit of ~4096. If anyone has suggestions for improvements > I'm happy to make adjustments. > > Luckily while debugging this: I was able to compare the flawed implementation > (GifImageDecoder) with ImageIO's implementation (GIFImageReader) to help > identify how the suffix/prefix tables are supposed to work. > > ImageIO's implementation may have suffered a similar bug (maybe > https://bugs.openjdk.org/browse/JDK-7131823 ?), and that appears to have been > backported. > > I have dozens of additional test cases for this problem, but unfortunately I > don't have the rights to commit them to the OpenJDK repo. Feel free to email > me for additional context/test cases.
Jeremy Wood has updated the pull request incrementally with one additional commit since the last revision: 8351913: changing whitespace (PR review) ------------- Changes: - all: https://git.openjdk.org/jdk/pull/24271/files - new: https://git.openjdk.org/jdk/pull/24271/files/6179ea22..e2ab9492 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=24271&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24271&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/24271.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24271/head:pull/24271 PR: https://git.openjdk.org/jdk/pull/24271