> 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: moving test package I have two other PRs in progress that place their tests in a dir like: /jdk/test/jdk/sun/awt/image/gif/bug8351913/ They aren't approved/merged yet, but hopefully all 3 of these new gif bugs will be merged and they'll benefit from being grouped in the same new gif directory. (And maybe more will test/directories will follow.) ------------- Changes: - all: https://git.openjdk.org/jdk/pull/24271/files - new: https://git.openjdk.org/jdk/pull/24271/files/d555631c..1733a85e Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=24271&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24271&range=02-03 Stats: 0 lines in 2 files changed: 0 ins; 0 del; 0 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