audio policy: fix service fuzz test crash
Bug: 13744391.
Change-Id: I2430e09ad00476b9ac28dc55466942c61fb0531d
diff --git a/services/audiopolicy/AudioPolicyManager.cpp b/services/audiopolicy/AudioPolicyManager.cpp
index 65d52d0..09595ff 100644
--- a/services/audiopolicy/AudioPolicyManager.cpp
+++ b/services/audiopolicy/AudioPolicyManager.cpp
@@ -206,9 +206,10 @@
audio_policy_dev_state_t state,
const char *device_address)
{
- String8 address = String8(device_address);
+ String8 address = (device_address == NULL) ? String8("") : String8(device_address);
- ALOGV("setDeviceConnectionState() device: %x, state %d, address %s", device, state, device_address);
+ ALOGV("setDeviceConnectionState() device: %x, state %d, address %s",
+ device, state, address.string());
// connect/disconnect only 1 device at a time
if (!audio_is_output_device(device) && !audio_is_input_device(device)) return BAD_VALUE;
@@ -376,9 +377,8 @@
const char *device_address)
{
audio_policy_dev_state_t state = AUDIO_POLICY_DEVICE_STATE_UNAVAILABLE;
- String8 address = String8(device_address);
sp<DeviceDescriptor> devDesc = new DeviceDescriptor(String8(""), device);
- devDesc->mAddress = String8(device_address);
+ devDesc->mAddress = (device_address == NULL) ? String8("") : String8(device_address);
ssize_t index;
DeviceVector *deviceVector;