summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichele <mberionne@google.com>2019-01-23 04:15:20 -0800
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-01-30 01:05:17 +0000
commitbbd2ae7c266e120d7457f9cad90ee8d7269cd87f (patch)
tree61b56ed5f6c89fcd50b7275d171f70b1a2dccd53
parentb1d40252e98500eed710503b8790a101ed372943 (diff)
downloadbase-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.java21
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);
}