)]}'
{
  "commit": "94df512b873aa09eeaebf21ae160f1e17e2a0e1b",
  "tree": "0da66ee5cdbca5435bcc8e5fcff9582740ca4446",
  "parents": [
    "b019e0010b4e4626b229d49ed2cf283d9e350766"
  ],
  "author": {
    "name": "Oblivionsage",
    "email": "cookieandcream560@gmail.com",
    "time": "Thu May 07 10:50:50 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu May 07 10:59:13 2026 -0700"
  },
  "message": "fix: check AssureWritable() return value at all call sites (#26390)\n\nFixes #26389\n\n`AssureWritable()` returns `-1` on failure (OOM in `MutableMessage()`), but 13 call sites were ignoring this return value.\n\nWhen `AssureWritable()` fails, `self-\u003emessage` still points to the shared read-only default instance. Subsequent mutations (`MergeFrom`, `CopyFrom`, `Clear`, `SetField`, etc.) then corrupt the shared global default instance, affecting all messages of the same type.\n\nSame bug class as the recent `FixupMessageAfterMerge` fix (ab14c0f8a).\n\nCloses #26390\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/protocolbuffers/protobuf/pull/26390 from Oblivionsage:fix/check-assure-writable-return-value adbd20477e3a1c49fbe9ce195f65169aac4ce98d\nPiperOrigin-RevId: 912044414\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63f44145d08b0d6c6420eb13616c2294dc27dd85",
      "old_mode": 33188,
      "old_path": "python/google/protobuf/pyext/message.cc",
      "new_id": "b7c09241281203d4fc4130a79b49bf25f546d29a",
      "new_mode": 33188,
      "new_path": "python/google/protobuf/pyext/message.cc"
    }
  ]
}
