)]}'
{
  "commit": "13eb1a1662db41fa37a6e7f703b62f225727686e",
  "tree": "182b9644dd47ba4ba1dea04050c041e88585f3e6",
  "parents": [
    "df69e697c8459ea35ff29d0420e09d2aec291374"
  ],
  "author": {
    "name": "Derek Mauro",
    "email": "dmauro@google.com",
    "time": "Thu Jul 09 13:12:44 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jul 09 13:13:33 2026 -0700"
  },
  "message": "Fix size_t narrowing and pointer arithmetic overflow in absl::chunked_queue::resize\n\nIn `absl::chunked_queue::resize(size_t)`, the difference between `new_size` and `size()` was being stored in a `ptrdiff_t`. When resizing to large values (such as `SIZE_MAX`), this narrowing conversion could overflow, resulting in a negative delta and causing an out-of-bounds heap write during element construction.\n\nThis change fixes the issue by:\n- Keeping `to_add` as `size_t`.\n- Clamping `to_add` to the remaining element capacity of the current tail block before adding it to `start`, preventing pointer arithmetic overflow or wrap-around.\n- Updating `iterator_common::IncrBy(size_t)` to compare element counts rather than computing `ptr + n` against `limit`, avoiding potential pointer wrap-around.\n- Adding a unit test (`ResizeOverflowSafe`) using a custom limited allocator to verify safe handling of large resize requests.\n\nPiperOrigin-RevId: 945278731\nChange-Id: Id400b3813f95d59ea738c58c8c1af3e6e8a836e4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "22a0a2362e6022ce2923b9bc10bc78e33a4a35c4",
      "old_mode": 33188,
      "old_path": "absl/container/BUILD.bazel",
      "new_id": "9afef5dc1b4e53b0108a048ad32231ed73a07aa9",
      "new_mode": 33188,
      "new_path": "absl/container/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "005548f97c2d39e3d3c12838f8a2008cf3bae6fd",
      "old_mode": 33188,
      "old_path": "absl/container/CMakeLists.txt",
      "new_id": "5ffef3f178c09a582a631584b615fa636ddbfc93",
      "new_mode": 33188,
      "new_path": "absl/container/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "2ec7184221d02877518bc462affdad83c174e69b",
      "old_mode": 33188,
      "old_path": "absl/container/chunked_queue.h",
      "new_id": "0e686ca5a5d13b7d8e0f0504ad439067e07bf9ad",
      "new_mode": 33188,
      "new_path": "absl/container/chunked_queue.h"
    },
    {
      "type": "modify",
      "old_id": "cc50f6bc29657e018dd0fe58697e3bdac2534ae0",
      "old_mode": 33188,
      "old_path": "absl/container/chunked_queue_test.cc",
      "new_id": "9540ff9413a55bac21b9e38f03657aebec08dffc",
      "new_mode": 33188,
      "new_path": "absl/container/chunked_queue_test.cc"
    }
  ]
}
