Bluetooth: Check descriptors size in BluetoothHidDeviceAppSdpSettings

Bug: 119819889
Test: compilation
Change-Id: If51d0e2af74d99758f79a603d40cc2f5c84e4dde
Merged-In: If51d0e2af74d99758f79a603d40cc2f5c84e4dde
This commit is contained in:
Jakub Pawlowski
2018-11-29 18:54:21 +01:00
parent 546ba589a2
commit f843ccbf9e

View File

@@ -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();
}