From 106cfbf961c79e17db03f591647c22a344dcd8b0 Mon Sep 17 00:00:00 2001 From: Dan Sandler Date: Tue, 3 Dec 2019 18:32:14 -0500 Subject: Sanitize Bluetooth device names without regex Saves a considerable amount of RAM. Fixes: 145623858 Test: Pair with a simulated device with whitespace in the name Change-Id: I1c8b00922534ee5941be6b14948c0941c5640862 --- framework/java/android/bluetooth/BluetoothDevice.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'framework/java/android/bluetooth/BluetoothDevice.java') diff --git a/framework/java/android/bluetooth/BluetoothDevice.java b/framework/java/android/bluetooth/BluetoothDevice.java index 5b60b85f47..838a3b95da 100644 --- a/framework/java/android/bluetooth/BluetoothDevice.java +++ b/framework/java/android/bluetooth/BluetoothDevice.java @@ -1025,7 +1025,11 @@ public final class BluetoothDevice implements Parcelable { try { String name = service.getRemoteName(this); if (name != null) { - return name.replaceAll("[\\t\\n\\r]+", " "); + // remove whitespace characters from the name + return name + .replace('\t', ' ') + .replace('\n', ' ') + .replace('\r', ' '); } return null; } catch (RemoteException e) { -- cgit v1.2.3