)]}'
{
  "commit": "cef91f11f2d039193c6487e8adaf987575e41b8e",
  "tree": "f80f62f7870b2b3c830a406ffdc3dc749edae6a8",
  "parents": [
    "b2ae83e8a2b0ed945f931338d6aa7e10ebb1fae0"
  ],
  "author": {
    "name": "Lei Zhang",
    "email": "thestig@chromium.org",
    "time": "Tue Jan 08 21:32:51 2019 +0000"
  },
  "committer": {
    "name": "Chromium commit bot",
    "email": "commit-bot@chromium.org",
    "time": "Tue Jan 08 21:32:51 2019 +0000"
  },
  "message": "Check inputs for CPDFSDK_CustomAccess::ReadBlockAtOffset().\n\nTo be consistent with other IFX_SeekableReadStream::ReadBlockAtOffset()\nimplementation. Do the same checks in similar code that reads from\nFPDF_FILEACCESS.\n\nWith these checks, CPDF_Parser::ParseAndAppendCrossRefSubsectionData()\nwill consistently fail for xref tables with 0 entries. Check for this\ncase and make the parser succeed. This deals with the xref table quirk\nmore gracefully and avoids rebuilds. Update test expectations as a\nresult of this new behavior.\n\nBUG\u003dpdfium:1197\n\nChange-Id: Id9900161c3453c37b51d501cb8746618388214a9\nReviewed-on: https://pdfium-review.googlesource.com/c/47551\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ed4eeb1de7bf3b78a90751f8f345e62cc74677af",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/parser/cpdf_parser.cpp",
      "new_id": "64fdd6c605b34a9961eb5c9dfb45de83ea8bda62",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/parser/cpdf_parser.cpp"
    },
    {
      "type": "modify",
      "old_id": "b67985894d504da8b3739a713fcf3e5c28c49c45",
      "old_mode": 33188,
      "old_path": "fpdfsdk/cpdfsdk_customaccess.cpp",
      "new_id": "fcaede5d84ad278a5fed4fe3186106d6f519a206",
      "new_mode": 33188,
      "new_path": "fpdfsdk/cpdfsdk_customaccess.cpp"
    },
    {
      "type": "modify",
      "old_id": "2b567dd63ac37eed365570090af193412446e607",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_dataavail.cpp",
      "new_id": "990a968f0624f402ca9ee5f8a945113fdbad733e",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_dataavail.cpp"
    },
    {
      "type": "modify",
      "old_id": "9de00c557c632820e9171cd5e1e2d6c3bbc1dd91",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_view_embeddertest.cpp",
      "new_id": "5b6be41a6b7dc9ac7c0204c033b0352bcdb91ee4",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_view_embeddertest.cpp"
    },
    {
      "type": "modify",
      "old_id": "05e94f9b7884193954eb4dc98fe6051cfcffbc89",
      "old_mode": 33188,
      "old_path": "public/fpdfview.h",
      "new_id": "0ba50e2fa266838ce0d1d9e3868959653d496d63",
      "new_mode": 33188,
      "new_path": "public/fpdfview.h"
    },
    {
      "type": "modify",
      "old_id": "a94b7ef9c6013d2bdbf988119adf1725160b200c",
      "old_mode": 33188,
      "old_path": "testing/embedder_test.cpp",
      "new_id": "e038aeb011053bcb7a99cd8f017e2738de649a4a",
      "new_mode": 33188,
      "new_path": "testing/embedder_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "9e0e6db28808e60e624842968cc823ce92bb0bcd",
      "old_mode": 33188,
      "old_path": "testing/fake_file_access.cpp",
      "new_id": "290a10d46d08298d2df2acd6e2016d0e4c683b08",
      "new_mode": 33188,
      "new_path": "testing/fake_file_access.cpp"
    },
    {
      "type": "modify",
      "old_id": "15309ad27c2db046eb10facecf783d0e200a7cc0",
      "old_mode": 33188,
      "old_path": "testing/test_support.cpp",
      "new_id": "03d243d5b8b360472d7fdf3ffdb2ba2ec80ce354",
      "new_mode": 33188,
      "new_path": "testing/test_support.cpp"
    }
  ]
}
