)]}'
{
  "commit": "96e91c48e26b1dc232abb47cc46073cae2606ea1",
  "tree": "16dbc1989751a1716e937573661a8f9cf8d2973e",
  "parents": [
    "4368f146309dd6a5b05657df646a97d2f7032903"
  ],
  "author": {
    "name": "Dexter.k",
    "email": "164054284+rootvector2@users.noreply.github.com",
    "time": "Mon May 18 21:57:08 2026 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon May 18 09:27:08 2026 -0700"
  },
  "message": "avifImageCopy: check avifImageCreateEmpty() result\n\nWhen the destination image has no gain map image yet but the source\ndoes, avifImageCopy() called avifImageCreateEmpty() and passed the\nresult to a recursive avifImageCopy() without checking for allocation\nfailure. Under out-of-memory conditions this dereferenced a NULL pointer\nin avifImageFreePlanes() at the start of the recursive call.\n\nAdd the missing AVIF_CHECKERR, matching the existing pattern used for\nthe avifGainMapCreate() allocation a few lines above.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9d381aaaf6a03212866cbc6efd8df63f5d007ffa",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "261f72cb1af7253ae14d3d25529b36b8b628dd7f",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "93d5377e7c700e0a12f9bb899eaf6707fdba26de",
      "old_mode": 33188,
      "old_path": "src/avif.c",
      "new_id": "f44dc49e933b66d9b4060d6e104251504722ec66",
      "new_mode": 33188,
      "new_path": "src/avif.c"
    }
  ]
}
