)]}'
{
  "commit": "e507dc5004184ae3f8fd1cd19b723b4be69a46da",
  "tree": "204cdce265b694625374b11661b485054a20cb8d",
  "parents": [
    "19c209de418a10f7d5c157cdda38e9308bfa5503"
  ],
  "author": {
    "name": "tsepez",
    "email": "tsepez@chromium.org",
    "time": "Wed Jan 18 10:24:35 2017 -0800"
  },
  "committer": {
    "name": "Commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Wed Jan 18 10:24:36 2017 -0800"
  },
  "message": "Bad indexing in CPDF_Document::FindPageIndex when page tree corrupt.\n\nMoving to std::vector from the more forgiving CFX_ArrayTemplate\nrevealed the dubious page tree traversal, which depends on the\ncorrectness of the /Count entries to properly summarize the total\ndescendants under a given node.\n\nThe only \"correct\" thing to do is to throw away these counts as parsed,\nand re-compute them, perhaps in CountPages().  But I\u0027m not willing to do\nthat since it may break unknown documents in the wild.\n\nPass out-params as pointers while we\u0027re at it.\n\nBUG\u003d680376\n\nReview-Url: https://codereview.chromium.org/2636403003\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e60aaa8824ca574b35a1eb459bc8ec214ba7f2d",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_document.cpp",
      "new_id": "e425cfc3282be2db8a0e63ff27b6b47654b1e1cb",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_document.cpp"
    },
    {
      "type": "modify",
      "old_id": "65455480a47e1874a9afafc84f0fc44cab1b86d9",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_document.h",
      "new_id": "3848ad622090558ffc1577a2edeb758fcb7afa3f",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_document.h"
    },
    {
      "type": "modify",
      "old_id": "5441bb3ecf4dcb8cd9b825fe463ec29d0f51b1c2",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdfdoc_embeddertest.cpp",
      "new_id": "3666687d4dadb55a6bb056c0e10f37ba79a7a4e6",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdfdoc_embeddertest.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c21df245fb257604dbb5efe0b8acd2748d1da3f5",
      "new_mode": 33188,
      "new_path": "testing/resources/bug_680376.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fb01c57613de544094790c9ffe7b28046eefec6f",
      "new_mode": 33188,
      "new_path": "testing/resources/bug_680376.pdf"
    }
  ]
}
