)]}'
{
  "commit": "5a4cc47b4b0b5cccae16ff386a08e4dc6f7e2578",
  "tree": "fa287199a107874f76c0d0a9718e71d00fafb9fd",
  "parents": [
    "a01468f95684536a17b41dc5db2f751bbf70a8ea"
  ],
  "author": {
    "name": "Hui Yingst",
    "email": "nigi@chromium.org",
    "time": "Mon Mar 15 20:06:43 2021 +0000"
  },
  "committer": {
    "name": "Chromium commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Mon Mar 15 20:06:43 2021 +0000"
  },
  "message": "Avoid integer underflow in SkiaState::AdjustClip().\n\nWhen the current `m_clipIndex` is larger than the given `limit` index,\nSkiaState::AdjustClip() looks through the index range below the current\n`m_clipIndex` until it finds a save command to restore. If no save\ncommand is found, it reaches an assertion failure due to the index being\nnegative.\n\nThis CL makes sure `m_clipIndex` is non-negative when using it to access\nand check command types. If no save command is found, skip restoring\nand set `m_clipIndex` to 0, so that all commands below index `limit` can\nbe processed later. The added pixel test is a minimized version of the\nPDF that triggered the assertion failure in crbug.com/1116869.\n\nBug: chromium:1116869\nChange-Id: I47a71918c561c1cb121b91f929d3f0f60b3f22e9\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/78570\nReviewed-by: Daniel Hosseinian \u003cdhoss@chromium.org\u003e\nCommit-Queue: Hui Yingst \u003cnigi@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "972ecf362269f68355f4dddb08b3629cf7cc8e94",
      "old_mode": 33188,
      "old_path": "core/fxge/skia/fx_skia_device.cpp",
      "new_id": "4442a65dacd043a9d4566e14a320b81db13f7e34",
      "new_mode": 33188,
      "new_path": "core/fxge/skia/fx_skia_device.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d123e388f895d8b8c85c14d5de02e880176c09f5",
      "new_mode": 33188,
      "new_path": "testing/resources/pixel/bug_1116869.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1ff3f1f14edd491ec8a8af7527b54910785cfe51",
      "new_mode": 33188,
      "new_path": "testing/resources/pixel/bug_1116869_expected.pdf.0.png"
    }
  ]
}
