RFR: 8356137: GifImageDecode can produce opaque image when disposal method changes [v4]

Jeremy Wood duke at openjdk.org
Thu May 15 00:31:31 UTC 2025


> This resolves a gif parsing bug where an unwanted opaque rectangle could appear under these conditions:
> 
> 1. The disposal method for frames is 1 (meaning "do not dispose", aka "DISPOSAL_SAVE")
> 2. The transparent pixel is non-zero
> 3. There's more than one such consecutive frame
> 
> Previously: the GifImageDecoder would leave the saved_image pixels as zero when they were supposed to be transparent. This works great if the transparent pixel index is zero, but it flood fills the background of your frame with the zeroeth color otherwise.

Jeremy Wood has updated the pull request incrementally with five additional commits since the last revision:

 - 8356137: readding transparency check at (20, 20)
 - GifComparison: fixing error message
 - GifComparison: code cleanup
 - 8356137: change package to access GifComparison
 - GifComparison: adding common helper class for gif bugs

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/25044/files
  - new: https://git.openjdk.org/jdk/pull/25044/files/c7072231..cfa679a8

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25044&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25044&range=02-03

  Stats: 590 lines in 4 files changed: 452 ins; 138 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/25044.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25044/head:pull/25044

PR: https://git.openjdk.org/jdk/pull/25044


More information about the client-libs-dev mailing list