)]}'
{
  "commit": "4339315c6744df2f899cef94053e3cd6fcffeb4b",
  "tree": "a9d29405b62033856aef9a2611846bdacddd6c1e",
  "parents": [
    "b5baf4103fb7c5369917da9cc1168bdb3a50bb53"
  ],
  "author": {
    "name": "Damien Neil",
    "email": "dneil@google.com",
    "time": "Thu Jun 11 16:57:48 2026 -0700"
  },
  "committer": {
    "name": "Gopher Robot",
    "email": "gobot@golang.org",
    "time": "Tue Jun 23 09:09:24 2026 -0700"
  },
  "message": "tiff: consistently skip horizontal padding in tiled images\n\nThe rightmost tiles of a tiled image can extend past the right\nedge of the image. When this happens, we should skip over the\nout-of-bounds data.\n\nFor example, consider a 2x2 image with an 4x4 tile size:\n\n\txx..\n\txx..\n\t....\n\t....\n\nWhen decoding, we must skip over the padding (dots) at the end of each row.\n\nThis skip was present for 16bpp greyscale images, but missing\nfor a number of other cases. Add the missing skips where absent.\n\nAdd a collection of test images for various image formats\ncontaining a tile larger than the image size.\n\n(Credit to Gemini for pointing out the bug and creating the test data.)\n\nChange-Id: I72cc342deb3f3a714ab7aa8f8111c7bd6a6a6964\nReviewed-on: https://go-review.googlesource.com/c/image/+/790222\nAuto-Submit: Damien Neil \u003cdneil@google.com\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Neal Patel \u003cneal@golang.org\u003e\nReviewed-by: Neal Patel \u003cnealpatel@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a0cd4e8781598b7a41fc2b7b9039197ae01d5049",
      "old_mode": 33188,
      "old_path": "tiff/reader.go",
      "new_id": "41260e44489519244c22f2071b176c1200773b4d",
      "new_mode": 33188,
      "new_path": "tiff/reader.go"
    },
    {
      "type": "modify",
      "old_id": "bf59fdd84865b9a370c39e932dec06605b08ee78",
      "old_mode": 33188,
      "old_path": "tiff/reader_test.go",
      "new_id": "8bbce2b5accbe6797da2b335de54a0c5de3851e8",
      "new_mode": 33188,
      "new_path": "tiff/reader_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "78a5145ee1a4a0ac9c2cdb32651ab55e7f994931",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-gray1-invert.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a662e7cf70b048f241eca6cb79b6b994ffb13e71",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-gray1.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1ccbe1bf0cbd88dbb181bbadc01da37b91de6df",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-gray16.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9b86df763f43b2996801f1e7cf26bb46453740be",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-gray8-invert.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1f2507c3d6bba1617e9cf63c79fcaf59e0337b8a",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-gray8.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1e32a35308a4ed45fe47c9c2a3e7b966164c84e9",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-nrgba16.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "af63ddfb3efdacf9497f47aacb0e3211ebe11391",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-nrgba8.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c3168fa651dcbe47595cc24e18eb516b63ad940d",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-paletted1.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "91060d39cddd2604df4df7f9da6829ef2799dbe1",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-paletted8.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "44772f638f56394c45488b55e0dab0041da8c2c3",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-rgb16.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f71b690485a98583aac4fca29b27c5d7e30d43cc",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-rgb8.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c0d6cc81690e4ac8d4915907f1e835b2c8acfc0",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-rgba16.tiff.bz2"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "99610258a49f600037e312c5b9e5c28efe5429a1",
      "new_mode": 33188,
      "new_path": "tiff/testdata/tiled-rgba8.tiff.bz2"
    }
  ]
}
