)]}'
{
  "commit": "6967ba99bcf4671083206ab1e8881014a844f3fb",
  "tree": "6823a39d35f0e0e2c6991519ce9fb91403d48e5c",
  "parents": [
    "a529e930cccdd986419d1ca3284615a635da1883"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@chromium.org",
    "time": "Fri May 10 00:40:04 2024 +0000"
  },
  "committer": {
    "name": "Pdfium LUCI CQ",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri May 10 00:40:04 2024 +0000"
  },
  "message": "Narrow scope of UNSAFE_BUFFERS() in fpdfsdk/fpdf*.cpp\n\nIntroduce SpanFromFPDFApiArgs() helper to centralize the dubious\nAPI behavior that the length is ignored when a NULL buffer pointer\nis passed. Then change two helper functions to accept spans, thus\nremoving some unsafe usage (in tests) where we make valid spans\nto begin with.\n\n-- Mark two other functions UNSAFE_BUFFER_USAGE while at it.\n-- re-order some declarations just to avoid comments in middle of\n   code blocks.\n\nChange-Id: Id104aa89528e58a161e05ac9207812cd971c9015\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/118990\nReviewed-by: Thomas Sepez \u003ctsepez@google.com\u003e\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a6b2337d030d75518d47a0effb6430bd317052c8",
      "old_mode": 33188,
      "old_path": "fpdfsdk/cpdfsdk_helpers.cpp",
      "new_id": "383d7d1d9f54739dd0b51b5d865c9264671eea06",
      "new_mode": 33188,
      "new_path": "fpdfsdk/cpdfsdk_helpers.cpp"
    },
    {
      "type": "modify",
      "old_id": "93e6f79ae2e3f6dcae233a337b39db83617174df",
      "old_mode": 33188,
      "old_path": "fpdfsdk/cpdfsdk_helpers.h",
      "new_id": "117aeeb9262ae0d598616954ea77bfb6e627361e",
      "new_mode": 33188,
      "new_path": "fpdfsdk/cpdfsdk_helpers.h"
    },
    {
      "type": "modify",
      "old_id": "492e3bc5ed8e8054aa56d04254a15650403be630",
      "old_mode": 33188,
      "old_path": "fpdfsdk/cpdfsdk_helpers_unittest.cpp",
      "new_id": "db5c85af3a481711f8eb8c1fa43243d55d727de6",
      "new_mode": 33188,
      "new_path": "fpdfsdk/cpdfsdk_helpers_unittest.cpp"
    },
    {
      "type": "modify",
      "old_id": "c5ff6dff0aadc75b0dff2c1cb3607d8ba2fb1bbe",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_annot.cpp",
      "new_id": "14e708d5a3b63c63c0da12dba1306ceb86252ace",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_annot.cpp"
    },
    {
      "type": "modify",
      "old_id": "dfd48a7dd044d212b7bca2d582da2bd57a52fb61",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_attachment.cpp",
      "new_id": "6fc9671f72627a7b1b4ae97cf3b69ab1e5d46747",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_attachment.cpp"
    },
    {
      "type": "modify",
      "old_id": "1dae6cb23e0f7728770d5c75ba049d3f3667fa2f",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_doc.cpp",
      "new_id": "570fa31ae4c8ac4c9af82647c4f358f297272718",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_doc.cpp"
    },
    {
      "type": "modify",
      "old_id": "7ca3ac5bb486acc6887f4c559e8bf96799b40fdb",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_editimg.cpp",
      "new_id": "ab757576a48975311e7fce6a55c55ba0a177c020",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_editimg.cpp"
    },
    {
      "type": "modify",
      "old_id": "72139131f7b70aee587eb5a72e234f8d3e73d810",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_editpage.cpp",
      "new_id": "7fa4fe15ba7a2441fa41ebca0143ec4a4d832716",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_editpage.cpp"
    },
    {
      "type": "modify",
      "old_id": "04d035a271be2f051ca31dd98fdd0798b1165d45",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_edittext.cpp",
      "new_id": "f9d16ea36b2fb15e1da6501939efb809974da96a",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_edittext.cpp"
    },
    {
      "type": "modify",
      "old_id": "9ae2c779da0edda3d99c47b3503a10a6e41d9517",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_formfill.cpp",
      "new_id": "83a589149315eea35931f39815a6bf7b7d60ae63",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_formfill.cpp"
    },
    {
      "type": "modify",
      "old_id": "0377197e89b97a1cca72b114942c15935728fd9e",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_javascript.cpp",
      "new_id": "00a66321d94f773e426a360ee429da006b2cb8fe",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_javascript.cpp"
    },
    {
      "type": "modify",
      "old_id": "2bcfa8b9354b05dd7fe6230d6648972955653793",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_signature.cpp",
      "new_id": "5061f42b2da96160785cadd90af3709c12dc5ae6",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_signature.cpp"
    },
    {
      "type": "modify",
      "old_id": "231f4b010c8a6adf7bd8b7177e919446c9534d74",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_structtree.cpp",
      "new_id": "797d328f08a0abf4bf91bbd1d1444b68cd2cc485",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_structtree.cpp"
    },
    {
      "type": "modify",
      "old_id": "524bdf844a707d3cd7be53bdf1a6b561e0e4f997",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_text.cpp",
      "new_id": "87c47163b82852d711389af4ba015e2f36888eb7",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_text.cpp"
    },
    {
      "type": "modify",
      "old_id": "7955f2dfebde34ea37a670210bbb21ecd08ea918",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_view.cpp",
      "new_id": "f6ea680d01ffdd4ca71176c1d94b7c3e2d045b5d",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_view.cpp"
    }
  ]
}
