)]}'
{
  "commit": "fe9848e7b3a06c09a3016d8bcb7aa384f5b7345d",
  "tree": "e5321f090a79e07b1307de735b8078243a796408",
  "parents": [
    "6da2cd928ee227d8d6832dc2fa0a9fc6e8ddf519"
  ],
  "author": {
    "name": "Paweł Łukasik",
    "email": "lukasik.pawel@gmail.com",
    "time": "Wed May 13 10:36:58 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed May 13 10:41:16 2026 -0700"
  },
  "message": "C#: fix IndexOutOfRangeException in ReadRawByte on truncated messages (#26914)\n\n**Summary**\nA near-int.MaxValue length varint overflows PushLimit, corrupting bufferSize to a negative value. ReadRawByte\u0027s \u003d\u003d guard then never triggers RefillBuffer, causing an out-of-bounds read instead of InvalidProtocolBufferException.TruncatedMessage().\n\n**Fix**\nchange \u003d\u003d to \u003e\u003d in ReadRawByte. Regression tests added for all four affected slow-path variants.\n\n**Tests**\nAdded `TruncatedMessageWithLargeInnerLengthThrowsInvalidProtocolBufferException` with 4 test cases.\n\nFixes #26856\n\nCloses #26914\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/26914 from pawlos:fix/csharp-readrawbyte-ioob-truncated-message 6bec67cfb24f7e4cceb757eaf3a40589ab22b22b\nPiperOrigin-RevId: 914940764\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fa31bea0def0e3fdd4eb6d62bddec90b399dd769",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf.Test/IssuesTest.cs",
      "new_id": "707a90e00f678d07260a95f75972a8a5aa70e3d8",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf.Test/IssuesTest.cs"
    },
    {
      "type": "modify",
      "old_id": "6ec422381c13b7a95f905c75526647714ad9c95d",
      "old_mode": 33188,
      "old_path": "csharp/src/Google.Protobuf/SegmentedBufferHelper.cs",
      "new_id": "97b01514e5ce2f23258b87f2b995f7caa1be44e8",
      "new_mode": 33188,
      "new_path": "csharp/src/Google.Protobuf/SegmentedBufferHelper.cs"
    }
  ]
}
