)]}'
{
  "commit": "17a71046a7ec875c86e7c9be405fa45d03fc10ee",
  "tree": "efca8814439baedc3371aedd9c96c35614c4722a",
  "parents": [
    "1d9b42fd5fcbae726bcf1fc9d6e9b2b543d5d6aa"
  ],
  "author": {
    "name": "Vitaly Goldshteyn",
    "email": "goldvitaly@google.com",
    "time": "Wed Oct 21 07:05:52 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Oct 21 07:43:40 2026 -0700"
  },
  "message": "Bound formatted string lengths with `ABSL_ASSUME` across `absl/strings`.\n\nIn hardened builds, constructing an `absl::string_view` checks that its length does not exceed `absl::string_view::max_size()`, emitting a comparison, branch, and trap instruction (`ud2`) whenever the compiler cannot statically upper-bound the runtime length returned by out-of-line formatting routines such as `FastIntToBuffer`, `SixDigitsToBuffer`, and `FastHexToBufferZeroPad16`, or tracked across `FormatSinkImpl` and `IntDigits` scratch buffers. Similarly, `IntegerToString` and `FloatToString` only asserted `size \u003c buf_size` in debug builds, preventing release builds from proving that formatted outputs fit within `std::string` small-string capacity.\n\nAdd `ABSL_ASSUME` bounds on scratch-buffer string lengths across `AlphaNum` (`str_cat.h`), `FormatHex`/`FormatDec`/`IntegerToString`/`FloatToString` (`str_cat.cc`), `substitute_internal::Arg` (`substitute.h`, `substitute.cc`), `SourceLocation` stringification (`stringify_sink.h`, `stringify_sink.cc`), `FormatSinkImpl::Flush` (`str_format/extension.h`), and `IntDigits` (`str_format/arg.cc`). Static ThinLTO release builds eliminate 331 to 593 `ud2` traps and reduce `.text` by an additional 2.5 KB to 5.4 KB per test binary.\n\nPiperOrigin-RevId: 1003911333\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5c7e195b7ce91554f30364a9c74c5a790e1d0e5",
      "old_mode": 33188,
      "old_path": "absl/strings/ascii.cc",
      "new_id": "e86e534e9ab91ca298f9df00437b85826d1eb147",
      "new_mode": 33188,
      "new_path": "absl/strings/ascii.cc"
    },
    {
      "type": "modify",
      "old_id": "d6252d63caa1c9b62d25e2af0c91fc3c0ddc80a7",
      "old_mode": 33188,
      "old_path": "absl/strings/ascii.h",
      "new_id": "5989f9f7b121fb4a015ba993479d4cf9b862a43d",
      "new_mode": 33188,
      "new_path": "absl/strings/ascii.h"
    },
    {
      "type": "modify",
      "old_id": "efe90412e6f3817a2ebea8e26117582bc6a63d0c",
      "old_mode": 33188,
      "old_path": "absl/strings/escaping.cc",
      "new_id": "ebebfe9b78d0270dcc73e9207e1fef18d04959c0",
      "new_mode": 33188,
      "new_path": "absl/strings/escaping.cc"
    },
    {
      "type": "modify",
      "old_id": "66ff22c47dab2e3507e9fd195ce76f9c6a93eb40",
      "old_mode": 33188,
      "old_path": "absl/strings/escaping.h",
      "new_id": "1502ff1d0218c9cfe3a9d91a9006f7a633240681",
      "new_mode": 33188,
      "new_path": "absl/strings/escaping.h"
    },
    {
      "type": "modify",
      "old_id": "5ac41ccb4274556afed215c682377e258f0e2bfe",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/ostringstream.cc",
      "new_id": "e848c15dfeb9b0b20187619b827ab5c1fdee8f21",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/ostringstream.cc"
    },
    {
      "type": "modify",
      "old_id": "c0e237dbe8fe4b19199b21842b878a3f2178fc5f",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/ostringstream.h",
      "new_id": "1139baf8fb13eb7b82aefa720a89eb1efda32860",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/ostringstream.h"
    },
    {
      "type": "modify",
      "old_id": "2125be31c6b7670a452be40ac795e048fdd19733",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/str_format/arg.cc",
      "new_id": "ac43f41b2e2f73af0e8fc6ad195834e575663944",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/str_format/arg.cc"
    },
    {
      "type": "modify",
      "old_id": "0e0b262faa8a882174e55e5f576baf067c3ebb6a",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/str_format/extension.h",
      "new_id": "4387c20b4958f2f2027b2273f5cbb4ec4ae543c4",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/str_format/extension.h"
    },
    {
      "type": "modify",
      "old_id": "8f9c11a19741b7084042b52baa1b729f7af25e53",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/str_join_internal.h",
      "new_id": "56b71ed495ce333f82b3abebeb916c1b2c383ca6",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/str_join_internal.h"
    },
    {
      "type": "modify",
      "old_id": "c9f82582045fa993b4cfdecb83d0fee3b65290d7",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/stringify_sink.cc",
      "new_id": "d70874c374af7e2b979a6c7835ee8419b9cf625b",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/stringify_sink.cc"
    },
    {
      "type": "modify",
      "old_id": "e4e5f9e8d9ac2bf672fd75c83fb3561979066c1c",
      "old_mode": 33188,
      "old_path": "absl/strings/internal/stringify_sink.h",
      "new_id": "c140343049aed9ca93c725ef60f4827838f51b51",
      "new_mode": 33188,
      "new_path": "absl/strings/internal/stringify_sink.h"
    },
    {
      "type": "modify",
      "old_id": "b79078d65a252b5b5269081e8b1caf19efa79e4e",
      "old_mode": 33188,
      "old_path": "absl/strings/str_cat.cc",
      "new_id": "a36136a9d9ef27c553ba8e359e6eee28b8f0ec82",
      "new_mode": 33188,
      "new_path": "absl/strings/str_cat.cc"
    },
    {
      "type": "modify",
      "old_id": "11e3bf63cd1aa820ddb6985f813c8d4603896d50",
      "old_mode": 33188,
      "old_path": "absl/strings/str_cat.h",
      "new_id": "f749a2e499ae014743579872b3ef9c79a4dfb84a",
      "new_mode": 33188,
      "new_path": "absl/strings/str_cat.h"
    },
    {
      "type": "modify",
      "old_id": "377e30cfd738ba407137c619346af8de4e6304ac",
      "old_mode": 33188,
      "old_path": "absl/strings/str_replace.cc",
      "new_id": "0900ae48a34407e5044fc337bdbb4f4e09d62406",
      "new_mode": 33188,
      "new_path": "absl/strings/str_replace.cc"
    },
    {
      "type": "modify",
      "old_id": "3af235793781b9512d13c1c7df6d0a099d7342d7",
      "old_mode": 33188,
      "old_path": "absl/strings/str_replace.h",
      "new_id": "38ef3e4fd0e2e4a1a8cc837ab4abf0b09bf92900",
      "new_mode": 33188,
      "new_path": "absl/strings/str_replace.h"
    },
    {
      "type": "modify",
      "old_id": "244c8a55e4ae9c3f1ab8af6d7bfbe4b4184a29c2",
      "old_mode": 33188,
      "old_path": "absl/strings/substitute.cc",
      "new_id": "dbb50e0e792bc8de3af83d4d9086ffa687dc24d6",
      "new_mode": 33188,
      "new_path": "absl/strings/substitute.cc"
    },
    {
      "type": "modify",
      "old_id": "6c62af6d7bfe95f24f81a560acad7bdec53324dd",
      "old_mode": 33188,
      "old_path": "absl/strings/substitute.h",
      "new_id": "88c57923a42eb920db0d567474d954cfd7e15e75",
      "new_mode": 33188,
      "new_path": "absl/strings/substitute.h"
    }
  ]
}
