diff options
| -rw-r--r-- | core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java b/core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java index f9a224581953..5061fa0b3b6a 100644 --- a/core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java +++ b/core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java @@ -18,12 +18,15 @@ package android.bluetooth; import android.os.Parcel; import android.os.Parcelable; +import android.util.EventLog; import java.util.Random; /** @hide */ public final class BluetoothHidDeviceAppSdpSettings implements Parcelable { + private static final int MAX_DESCRIPTOR_SIZE = 2048; + final public String name; final public String description; final public String provider; @@ -36,6 +39,12 @@ public final class BluetoothHidDeviceAppSdpSettings implements Parcelable { this.description = description; this.provider = provider; this.subclass = subclass; + + if (descriptors == null || descriptors.length > MAX_DESCRIPTOR_SIZE) { + EventLog.writeEvent(0x534e4554, "119819889", -1, ""); + throw new IllegalArgumentException("descriptors must be not null and shorter than " + + MAX_DESCRIPTOR_SIZE); + } this.descriptors = descriptors.clone(); } |