)]}'
{
  "commit": "1fdfb4ac17c033c85a4d0fcde918a2a72e3a252e",
  "tree": "b2678187f99b99f87762abd8b2863a0ae115e405",
  "parents": [
    "d54dab99ef7f177bd22026b84366b7f20cf6fa29"
  ],
  "author": {
    "name": "Tom Sepez",
    "email": "tsepez@chromium.org",
    "time": "Mon Jul 01 19:39:25 2024 +0000"
  },
  "committer": {
    "name": "Pdfium LUCI CQ",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Jul 01 19:39:25 2024 +0000"
  },
  "message": "Spanify input side of LZWDecompressor.\n\nUse a span in place of a pointer/length pair. Interestingly, this now\navoids a situation where an error return previously could occur between\nupdating the pointer and decrementing the size. This avoids some\nUNSAFE_BUFFER usage but some still remains on the output side of\nthe decompressor.\n\nThere is a small change to the return value of Unfishished whenever\nthe span is empty regardless of whether one had ever been supplied.\nPreviously, this was considered an error. This is not expected to\naffect callers outside of tests.\n\nBug: 42271176\nChange-Id: I48cc36b3ef14b68ac5ca7277fc0a5280d79e4df3\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/121231\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@google.com\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "85f0a297ea03f8c5445242f5b533ad2e14bf690a",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/lzw_decompressor.cpp",
      "new_id": "2cd6bc3b07bba026d39bdea16f03150d788637f3",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/lzw_decompressor.cpp"
    },
    {
      "type": "modify",
      "old_id": "c5a05603114ef148c10127a0eeac5fb911bf283d",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/lzw_decompressor.h",
      "new_id": "50fe0f725fb8b529779b0d85e1cf1fb68fa00a22",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/lzw_decompressor.h"
    },
    {
      "type": "modify",
      "old_id": "0126e792c353ba7ca63aa1818d07b0acc64c46ae",
      "old_mode": 33188,
      "old_path": "core/fxcodec/gif/lzw_decompressor_unittest.cpp",
      "new_id": "d11e1beba54463d422a43a84aef8810a47c11607",
      "new_mode": 33188,
      "new_path": "core/fxcodec/gif/lzw_decompressor_unittest.cpp"
    }
  ]
}
