diff options
author | Michele <mberionne@google.com> | 2019-01-23 04:15:20 -0800 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-01-30 01:05:17 +0000 |
commit | bbd2ae7c266e120d7457f9cad90ee8d7269cd87f (patch) | |
tree | 61b56ed5f6c89fcd50b7275d171f70b1a2dccd53 | |
parent | b1d40252e98500eed710503b8790a101ed372943 (diff) | |
download | base-bbd2ae7c266e120d7457f9cad90ee8d7269cd87f.tar.gz |
[DO NOT MERGE]Add check for slot index value
Verify that slot index passed in setAllowedCarrier() and in
getAllowedCarrier() has a valid value or return error code.
Bug: 123097251
Test: compilation
Change-Id: I58e5447f2232d6aa096ddb7a8594d762ca74d22f
(cherry picked from commit 8dca21054f411d6afb5b56f0b5a7a8e47e0b6c2d)
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index c574fb4d6605..e7361ef66531 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -7581,6 +7581,9 @@ public class TelephonyManager { @SystemApi @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int slotIndex, List<CarrierIdentifier> carriers) { + if (!SubscriptionManager.isValidPhoneId(slotIndex)) { + return -1; + } try { ITelephony service = getITelephony(); if (service != null) { @@ -7608,15 +7611,17 @@ public class TelephonyManager { @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public List<CarrierIdentifier> getAllowedCarriers(int slotIndex) { - try { - ITelephony service = getITelephony(); - if (service != null) { - return service.getAllowedCarriers(slotIndex); + if (SubscriptionManager.isValidPhoneId(slotIndex)) { + try { + ITelephony service = getITelephony(); + if (service != null) { + return service.getAllowedCarriers(slotIndex); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e); + } catch (NullPointerException e) { + Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e); } - } catch (RemoteException e) { - Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e); - } catch (NullPointerException e) { - Log.e(TAG, "Error calling ITelephony#getAllowedCarriers", e); } return new ArrayList<CarrierIdentifier>(0); } |