)]}'
{
  "commit": "cdc2bb368625130eef0a3842bd5beb5eef11c16c",
  "tree": "45148e419cf6ba09a34c3b45b03bf93c1b785a5f",
  "parents": [
    "ee04a37583c0a965cbf77aef36d6868c38c93f9d"
  ],
  "author": {
    "name": "Arun",
    "email": "arunvoddu@google.com",
    "time": "Sat Jun 13 08:45:56 2026 +0000"
  },
  "committer": {
    "name": "Android Build Coastguard Worker",
    "email": "android-build-coastguard-worker@google.com",
    "time": "Mon Jul 13 18:04:08 2026 -0700"
  },
  "message": "Fix ArrayIndexOutOfBoundsException in SIMRecords due to invalid EF_CFIS/EF_CFF\n\nA hostile or malformed SIM card can advertise an EF_CFIS with a record\nsize of 1, or an empty EF_CFF_CPHS. This leads to an uncaught\nArrayIndexOutOfBoundsException in the com.android.phone process when\nparsing these records in onAllRecordsLoaded(), which is called from a\nfinally block in SIMRecords.handleMessage(). Because the exception is\nuncaught, it crashes the persistent com.android.phone process, triggering\na continuous crash-loop and rendering all cellular services unavailable.\n\nFix this by:\n1. Enhancing validEfCfis() to verify that the EF_CFIS data is at least\n   16 bytes (the spec-mandated size). This ensures we can safely read and\n   write all fields up to the maximum offset (15) without out-of-bounds\n   accesses.\n2. Guarding all accesses to mEfCff[0] with a length check (mEfCff.length \u003e 0)\n   to prevent crashes if the CPHS Call Forwarding Flags file is empty.\n\nThese changes prevent the crash-loop and keep the device functional,\ngracefully ignoring the invalid SIM data.\n\nTest: atest SIMRecordsTest\nFlag: EXEMPT bugfix\nBug: 517377278\nTAG\u003dagy\nCONV\u003dd2b601e9-695b-4692-a523-d4db93054894\nCherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:5a45e108f2ccad5ef55b36ee9ebfde9e3d476bdd\nMerged-In: I3f22d63e9f5a871eb2eaf8c5aaea95a467703c86\nChange-Id: I3f22d63e9f5a871eb2eaf8c5aaea95a467703c86\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4b0e63cabc1d9d428af54e8bd128f9df9cfa976c",
      "old_mode": 33188,
      "old_path": "src/java/com/android/internal/telephony/uicc/SIMRecords.java",
      "new_id": "8b6d7f89e860fc6ee8e890c9597362920adaa9c1",
      "new_mode": 33188,
      "new_path": "src/java/com/android/internal/telephony/uicc/SIMRecords.java"
    },
    {
      "type": "modify",
      "old_id": "7dc13a0b9c4b44b06999309dfaf5177821f8a4f1",
      "old_mode": 33188,
      "old_path": "tests/telephonytests/src/com/android/internal/telephony/uicc/SIMRecordsTest.java",
      "new_id": "853ad7d64a5e54eb5d498b80d14877a2fe7bf3e1",
      "new_mode": 33188,
      "new_path": "tests/telephonytests/src/com/android/internal/telephony/uicc/SIMRecordsTest.java"
    }
  ]
}
