)]}'
{
  "commit": "d1d669e8161a0a032e8aa02171cc4c898d307212",
  "tree": "7920b4e6e2142d2b98cfe90a5a740f73d6cfd04a",
  "parents": [
    "2bbd17fe3acacc199efd2c758b1b8044acd9ee05"
  ],
  "author": {
    "name": "eDO Team",
    "email": "no-reply@google.com",
    "time": "Wed Jul 29 17:19:31 2026"
  },
  "committer": {
    "name": "Mobile DevX Robot",
    "email": "mobile-devx-github-bot@google.com",
    "time": "Tue Aug 18 17:48:23 2026"
  },
  "message": "Secure untrusted pointer dereference in EDOInvocationRequest and EDOMethodSignatureRequest\n\n- Add `localObjectForAddress:` to `EDOHostService` to validate and resolve local objects from wire-supplied addresses securely.\n- Update `EDOInvocationRequest` and `EDOMethodSignatureRequest` handlers to use address validation, preventing arbitrary pointer dereference.\n- Fix proxy deduplication and recycled address handling in `EDOClientService` to prevent premature object release requests.\n- Add recursive collection unwrapping and deduplication for `NSArray`, `NSSet`, and `NSDictionary` using safe meta-class checks.\n- Improve exception stack trace handling and diagnostic information in `EDOInvocationMessage` and `EDOObject+Invocation`.\n\nPiperOrigin-RevId: 955954030\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e00f80c1fee76de002a1a0e9638e9b0ba9c05950",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOClientService.m",
      "new_id": "2aa2754e8e57dca77609480f6ebcf0e3eb88be92",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOClientService.m"
    },
    {
      "type": "modify",
      "old_id": "4ff033a3c79fddd27381981b068dd60300484d32",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDODeallocationTracker.h",
      "new_id": "cb369276c4cffec575fb8796e6a1c2d5f9b5bc88",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDODeallocationTracker.h"
    },
    {
      "type": "modify",
      "old_id": "9d155a333ba73cc8587fb2f47618db00cdc722fc",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDODeallocationTracker.m",
      "new_id": "6d866cbc07cad0d95afb562e906d54043b0100fb",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDODeallocationTracker.m"
    },
    {
      "type": "modify",
      "old_id": "08d98eb684eff07cd79e140cd393994332040447",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOHostService+Private.h",
      "new_id": "33d3e238cb2f1b93ba8bad5ee9e050067b1f9ba4",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOHostService+Private.h"
    },
    {
      "type": "modify",
      "old_id": "0a8c33a91036300867c70d0c437135b5d748f5eb",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOHostService.m",
      "new_id": "af7f8f67658532a6ff9769ba2d8cea41310d9ac1",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOHostService.m"
    },
    {
      "type": "modify",
      "old_id": "d273f0efd0546dc4c31d8b8aac00e3dd4f78f652",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOInvocationMessage.m",
      "new_id": "36f4c3200eccff84853ec1352ab8b4dc502d94fb",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOInvocationMessage.m"
    },
    {
      "type": "modify",
      "old_id": "2e39c6d3afa68655724b8a41611ab1b8998cfae6",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOMethodSignatureMessage.m",
      "new_id": "a0f16a45db7d616407901496c90ce390284d1289",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOMethodSignatureMessage.m"
    },
    {
      "type": "modify",
      "old_id": "238fcf51f302a3d301fedb1ed7c43b5ff32d6c9a",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOObject+Invocation.m",
      "new_id": "139b9b0b3b08d42d45693ca008311ad9f36d4ae5",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOObject+Invocation.m"
    },
    {
      "type": "modify",
      "old_id": "6600e14256957b15e7108297b94ff9f7a0a12365",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOObject.m",
      "new_id": "16584332ee5085e1eee19a922cb3b346a79c5060",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOObject.m"
    },
    {
      "type": "modify",
      "old_id": "de117d22b1984ea0e0102b03168fe3aa216f491d",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOObjectReleaseMessage.h",
      "new_id": "84c793d0c1d6c173c2a58c9c54b78f0744d3c68d",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOObjectReleaseMessage.h"
    },
    {
      "type": "modify",
      "old_id": "ea752f1fd799fda1039947a374111084479b2260",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOObjectReleaseMessage.m",
      "new_id": "041833743a7f64fde2135aaff43dbc5827dbc1a5",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOObjectReleaseMessage.m"
    },
    {
      "type": "modify",
      "old_id": "761192bfe13401adccc015c5c839c173df7a166a",
      "old_mode": 33188,
      "old_path": "Service/Sources/EDOWeakObject.m",
      "new_id": "64d64f027e1fe1f0ef37904b40e6c2af8eb76ae8",
      "new_mode": 33188,
      "new_path": "Service/Sources/EDOWeakObject.m"
    },
    {
      "type": "modify",
      "old_id": "ce1388bfb1710e5c7ae3386e3873f03a2c4749ae",
      "old_mode": 33188,
      "old_path": "Service/Tests/FunctionalTests/EDOServiceUITest.m",
      "new_id": "ad2f861ae97f54ad69b01d3caeab5044a539b698",
      "new_mode": 33188,
      "new_path": "Service/Tests/FunctionalTests/EDOServiceUITest.m"
    },
    {
      "type": "modify",
      "old_id": "a454d33688ec4273589bbbaa8215edb94d3096a8",
      "old_mode": 33188,
      "old_path": "Service/Tests/UnitTests/EDOMessageTest.m",
      "new_id": "a0e3cef99ab1d980a5a23121ec4e80bce18e0126",
      "new_mode": 33188,
      "new_path": "Service/Tests/UnitTests/EDOMessageTest.m"
    },
    {
      "type": "modify",
      "old_id": "fc09270964bfafb8bffc0fef2974687cc0e61904",
      "old_mode": 33188,
      "old_path": "Service/Tests/UnitTests/EDOWeakReferenceTest.m",
      "new_id": "c9b4d45119143a26e53073529c243e198b02daf1",
      "new_mode": 33188,
      "new_path": "Service/Tests/UnitTests/EDOWeakReferenceTest.m"
    }
  ]
}
