From 33cc60ccc98b555bb7d9e7c75d7435917cca1458 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Wed, 1 Mar 2017 18:47:56 -0800 Subject: [PATCH] Remove the name length limit for system properties. Bug: http://b/33926793 Test: builds Change-Id: Ib89b66b7abebc9a28961a0c9032b99947e3db0d6 Merged-In: Ib89b66b7abebc9a28961a0c9032b99947e3db0d6 --- core/java/android/os/SystemProperties.java | 25 ---------------------- .../pm/PackageManagerServiceCompilerMapping.java | 4 +--- .../java/android/telephony/TelephonyManager.java | 5 ++--- 3 files changed, 3 insertions(+), 31 deletions(-) diff --git a/core/java/android/os/SystemProperties.java b/core/java/android/os/SystemProperties.java index 6a751e808d4b..2bf3c2c7b489 100644 --- a/core/java/android/os/SystemProperties.java +++ b/core/java/android/os/SystemProperties.java @@ -35,7 +35,6 @@ public class SystemProperties { private static final String TAG = "SystemProperties"; private static final boolean TRACK_KEY_ACCESS = false; - public static final int PROP_NAME_MAX = 31; public static final int PROP_VALUE_MAX = 91; private static final ArrayList sChangeCallbacks = new ArrayList(); @@ -82,12 +81,8 @@ public class SystemProperties { /** * Get the value for the given key. * @return an empty string if the key isn't found - * @throws IllegalArgumentException if the key exceeds 32 characters */ public static String get(String key) { - if (key.length() > PROP_NAME_MAX) { - throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX); - } if (TRACK_KEY_ACCESS) onKeyAccess(key); return native_get(key); } @@ -95,12 +90,8 @@ public class SystemProperties { /** * Get the value for the given key. * @return if the key isn't found, return def if it isn't null, or an empty string otherwise - * @throws IllegalArgumentException if the key exceeds 32 characters */ public static String get(String key, String def) { - if (key.length() > PROP_NAME_MAX) { - throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX); - } if (TRACK_KEY_ACCESS) onKeyAccess(key); return native_get(key, def); } @@ -111,12 +102,8 @@ public class SystemProperties { * @param def a default value to return * @return the key parsed as an integer, or def if the key isn't found or * cannot be parsed - * @throws IllegalArgumentException if the key exceeds 32 characters */ public static int getInt(String key, int def) { - if (key.length() > PROP_NAME_MAX) { - throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX); - } if (TRACK_KEY_ACCESS) onKeyAccess(key); return native_get_int(key, def); } @@ -127,12 +114,8 @@ public class SystemProperties { * @param def a default value to return * @return the key parsed as a long, or def if the key isn't found or * cannot be parsed - * @throws IllegalArgumentException if the key exceeds 32 characters */ public static long getLong(String key, long def) { - if (key.length() > PROP_NAME_MAX) { - throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX); - } if (TRACK_KEY_ACCESS) onKeyAccess(key); return native_get_long(key, def); } @@ -148,25 +131,17 @@ public class SystemProperties { * @param def a default value to return * @return the key parsed as a boolean, or def if the key isn't found or is * not able to be parsed as a boolean. - * @throws IllegalArgumentException if the key exceeds 32 characters */ public static boolean getBoolean(String key, boolean def) { - if (key.length() > PROP_NAME_MAX) { - throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX); - } if (TRACK_KEY_ACCESS) onKeyAccess(key); return native_get_boolean(key, def); } /** * Set the value for the given key. - * @throws IllegalArgumentException if the key exceeds 32 characters * @throws IllegalArgumentException if the value exceeds 92 characters */ public static void set(String key, String val) { - if (key.length() > PROP_NAME_MAX) { - throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX); - } if (val != null && val.length() > PROP_VALUE_MAX) { throw new IllegalArgumentException("val.length > " + PROP_VALUE_MAX); diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java b/services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java index 8a3f48efb504..63541f782637 100644 --- a/services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java +++ b/services/core/java/com/android/server/pm/PackageManagerServiceCompilerMapping.java @@ -80,9 +80,7 @@ class PackageManagerServiceCompilerMapping { try { // Check that the system property name is legal. String sysPropName = getSystemPropertyName(reason); - if (sysPropName == null || - sysPropName.isEmpty() || - sysPropName.length() > SystemProperties.PROP_NAME_MAX) { + if (sysPropName == null || sysPropName.isEmpty()) { throw new IllegalStateException("Reason system property name \"" + sysPropName +"\" for reason " + REASON_STRINGS[reason]); } diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 7775a341bcd4..c691879706eb 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -3930,9 +3930,8 @@ public class TelephonyManager { } } - if (property.length() > SystemProperties.PROP_NAME_MAX - || propVal.length() > SystemProperties.PROP_VALUE_MAX) { - Rlog.d(TAG, "setTelephonyProperty: property to long phoneId=" + phoneId + + if (propVal.length() > SystemProperties.PROP_VALUE_MAX) { + Rlog.d(TAG, "setTelephonyProperty: property too long phoneId=" + phoneId + " property=" + property + " value: " + value + " propVal=" + propVal); return; } -- 2.11.0