Merge "setProperty check for byte limit" am: 18b4802337 am: 4cd991467f

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2004952

Change-Id: I1ea10c7f473956cdeeed14fbe8fa455bf4bb088d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Ling Ma 2022-04-01 22:36:40 +00:00 committed by Automerger Merge Worker
commit 39709e6beb

View File

@ -226,9 +226,10 @@ public class SystemProperties {
*/
@UnsupportedAppUsage
public static void set(@NonNull String key, @Nullable String val) {
if (val != null && !key.startsWith("ro.") && val.length() > PROP_VALUE_MAX) {
if (val != null && !key.startsWith("ro.") && val.getBytes(StandardCharsets.UTF_8).length
> PROP_VALUE_MAX) {
throw new IllegalArgumentException("value of system property '" + key
+ "' is longer than " + PROP_VALUE_MAX + " characters: " + val);
+ "' is longer than " + PROP_VALUE_MAX + " bytes: " + val);
}
if (TRACK_KEY_ACCESS) onKeyAccess(key);
native_set(key, val);