)]}'
{
  "commit": "f103cdde766d5e5deffeac1fd5a4b81753a037dc",
  "tree": "402d0e98be1413882acbbd68f99e7bcc6e67f51e",
  "parents": [
    "77f8ddbbd65b2ff0dbe212e6f182e6a554869bf3"
  ],
  "author": {
    "name": "Kyle Zhang",
    "email": "kelzhan@google.com",
    "time": "Fri Jun 26 19:26:27 2026 +0000"
  },
  "committer": {
    "name": "Android Build Coastguard Worker",
    "email": "android-build-coastguard-worker@google.com",
    "time": "Mon Jul 13 17:41:41 2026 -0700"
  },
  "message": "Fix race conditions in CryptoHal plugin usage\n\nThe previous implementation of `decrypt` and `getKeyHandle` unlocked\n`mLock` while `mPlugin` could be concurrently reset by\n`destroyPlugin()`. This created a window for use-after-free or null\ndereference when the plugin was dispatched. Additionally, the manual\nunlock within the `Mutex::Autolock` scope caused double-unlocking\nundefined behavior upon scope exit.\n\nThis commit scopes the `Autolock` explicitly and takes a strong reference\nof the plugin under the lock. This ensures safe dispatch of the IPC and\navoids duplicate unlocks, mitigating the TOCTOU issue.\n\nBug: 503553199\nTest: build libmediadrm\nFlag: EXEMPT BUGFIX\nCherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:07833af6498d65a0f2dc520f6be6ee8ca2c80967\nMerged-In: I2e07e603ef641ddf83485a7a0e4c539b1325b91d\nChange-Id: I2e07e603ef641ddf83485a7a0e4c539b1325b91d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4db0e848b24adeba56767ccba5760774ded9f41f",
      "old_mode": 33188,
      "old_path": "drm/libmediadrm/CryptoHalAidl.cpp",
      "new_id": "77633021134f82144bdf827c6e4d62fc3536c55c",
      "new_mode": 33188,
      "new_path": "drm/libmediadrm/CryptoHalAidl.cpp"
    },
    {
      "type": "modify",
      "old_id": "e3603bf57a1d223aa089f4b6488679e76573b5d5",
      "old_mode": 33188,
      "old_path": "drm/libmediadrm/CryptoHalHidl.cpp",
      "new_id": "aebad9f5154d44d39ecb8a0657b2db81538f5a2d",
      "new_mode": 33188,
      "new_path": "drm/libmediadrm/CryptoHalHidl.cpp"
    }
  ]
}
