)]}'
{
  "commit": "2114590c98f32dceb9f22604e81a34cb0c370b67",
  "tree": "716b21cb0423eae6509af08f181a0fcde4ca66f6",
  "parents": [
    "67769a49e360493572d0cc6f47b279ef8a1b0045"
  ],
  "author": {
    "name": "yutingfang",
    "email": "yutingfang@google.com",
    "time": "Tue Aug 12 16:48:55 2025 -0700"
  },
  "committer": {
    "name": "Android Build Coastguard Worker",
    "email": "android-build-coastguard-worker@google.com",
    "time": "Fri Oct 10 14:11:25 2025 -0700"
  },
  "message": "Use ParceledListSlice to paginate response from getPackagesForOpsForDevice binder API\n\nIn a previous similar security bug fix ag/31434165 we imposed a\nthreshold on the number of attributed op entries returned for a single\npackage. But in this bug, the POC app created attributed op entries for\nhundreds of packages which caused TransactionTooLargeException in getPackagesForOpsForDevice binder API.\nSo the fix is to add pagination in the binder response by using\nParceledListSlice.\n\nBug: 416490321\nTest: Use the POC app in the bug report, verified after the fix there\nwas no more crashes from SystemUi and the device could boot\nsuccessfully.\nFlag: EXEMPT security bug fix\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2c637955ab388773c234268ceb108372eaab2200)\nCherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:bd1eff349d514a53838df08ae097380d21c08c67\nMerged-In: If4590160d1d743f58c1aed3f923d3668a8936c57\nChange-Id: If4590160d1d743f58c1aed3f923d3668a8936c57\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5214d2c9c02a5041bcea737a49e99325efe3a6e3",
      "old_mode": 33188,
      "old_path": "core/java/android/app/AppOpsManager.java",
      "new_id": "fa7e1645cb601c4a147b6a0d924440af34730c06",
      "new_mode": 33188,
      "new_path": "core/java/android/app/AppOpsManager.java"
    },
    {
      "type": "modify",
      "old_id": "3ec70649294b61d7d807fc29861a4431097d8cd8",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/app/IAppOpsService.aidl",
      "new_id": "151a08e211c19cab623154ec7cb9c73788121355",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/app/IAppOpsService.aidl"
    },
    {
      "type": "modify",
      "old_id": "8d01cd71795249de0b63cb05b3f35d65fd2c5d3d",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/appop/AppOpsService.java",
      "new_id": "da55675ccb6aa90f7c9f0cef09eb89d6aadeb2a5",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/appop/AppOpsService.java"
    }
  ]
}
