)]}'
{
  "commit": "afb4ca0151959a8bedfb39a9a9140504168be7ea",
  "tree": "32bef020212ed4be4958299dda771993cbb03b74",
  "parents": [
    "2b672e7210a6e989aca4787fb81f4b2542bad9c1"
  ],
  "author": {
    "name": "Ben Wagner",
    "email": "bungeman@chromium.org",
    "time": "Thu Jan 06 12:54:15 2022 -0500"
  },
  "committer": {
    "name": "Werner Lemberg",
    "email": "wl@gnu.org",
    "time": "Thu Jan 06 19:13:00 2022 +0100"
  },
  "message": "[truetype] Reset localpoints when varying cvt.\n\nWhen iterating over the cvt tuples and reading in the points it is necessary\nto set all of `localpoints`, `points`, and `point_count` in all cases.  The\nexisting code did not reset `localpoints` to `NULL` when there were no\nprivate point numbers.  If the previous tuple did have private point numbers\nand set `localpoints` to `ALL_POINTS` this would not be cleared and the\nwrong branch would be taken later, leading to possible heap buffer overflow.\n\n* src/truetype/ttgxvar.c (tt_face_vary_cvt): Reset `localpoints` to `NULL`\nwhen it isn\u0027t valid.\n\nFixes: https://crbug.com/1284742\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7f2db0cbdc0c8cafe8d0bfd2047758b48050e42c",
      "old_mode": 33188,
      "old_path": "src/truetype/ttgxvar.c",
      "new_id": "55ff152e7443b27f626eaa81fa7737b7c4e55afb",
      "new_mode": 33188,
      "new_path": "src/truetype/ttgxvar.c"
    }
  ]
}
