From 75e1d3137cdcdb88783795d3f1fe735098330fa8 Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Wed, 19 Aug 2009 11:18:53 -0700 Subject: [PATCH] Fix exception when reporting disconn cdma state. Array out of bounds when checking first element of a 0-length array. --- services/java/com/android/server/TelephonyRegistry.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/java/com/android/server/TelephonyRegistry.java b/services/java/com/android/server/TelephonyRegistry.java index 7379b5d7594d7..170a9f82a05b9 100644 --- a/services/java/com/android/server/TelephonyRegistry.java +++ b/services/java/com/android/server/TelephonyRegistry.java @@ -535,9 +535,12 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub { intent.putExtra(Phone.STATE_CHANGE_REASON_KEY, reason); } intent.putExtra(Phone.DATA_APN_KEY, apn); - String types = apnTypes[0]; - for (int i = 1; i < apnTypes.length; i++) { - types = types+","+apnTypes[i]; + String types = new String(""); + if (apnTypes.length > 0) { + types = apnTypes[0]; + for (int i = 1; i < apnTypes.length; i++) { + types = types+","+apnTypes[i]; + } } intent.putExtra(Phone.DATA_APN_TYPES_KEY, types); intent.putExtra(Phone.DATA_IFACE_NAME_KEY, interfaceName);