Fix Security issue for Html.fromHtml without escape

Add Html.escapeHtml() for the string and also remove profileName
for the confirmation_title to make sure the confirmation_title always
show the device's name.

Bug: 172251622
Bug: 197035186
Test: Manual
Change-Id: I7e2f95fd85e18127dc481f188ace8ad6effc4831
This commit is contained in:
Evan Chen
2021-08-13 19:40:04 +00:00
committed by Erik Wolsheimer
parent 50fc335c4b
commit 281777cf4c

View File

@@ -93,9 +93,9 @@ public class CompanionDeviceActivity extends Activity {
final DeviceFilterPair selectedDevice = getService().mDevicesFound.get(0); final DeviceFilterPair selectedDevice = getService().mDevicesFound.get(0);
setTitle(Html.fromHtml(getString( setTitle(Html.fromHtml(getString(
R.string.confirmation_title, R.string.confirmation_title,
getCallingAppName(), Html.escapeHtml(getCallingAppName()),
profileName, Html.escapeHtml(selectedDevice.getDisplayName())), 0));
selectedDevice.getDisplayName()), 0));
mPairButton = findViewById(R.id.button_pair); mPairButton = findViewById(R.id.button_pair);
mPairButton.setOnClickListener(v -> onDeviceConfirmed(getService().mSelectedDevice)); mPairButton.setOnClickListener(v -> onDeviceConfirmed(getService().mSelectedDevice));
getService().mSelectedDevice = selectedDevice; getService().mSelectedDevice = selectedDevice;
@@ -108,8 +108,8 @@ public class CompanionDeviceActivity extends Activity {
mPairButton = findViewById(R.id.button_pair); mPairButton = findViewById(R.id.button_pair);
mPairButton.setVisibility(View.GONE); mPairButton.setVisibility(View.GONE);
setTitle(Html.fromHtml(getString(R.string.chooser_title, setTitle(Html.fromHtml(getString(R.string.chooser_title,
profileName, Html.escapeHtml(profileName),
getCallingAppName()), 0)); Html.escapeHtml(getCallingAppName())), 0));
mDeviceListView = findViewById(R.id.device_list); mDeviceListView = findViewById(R.id.device_list);
mDevicesAdapter = new DevicesAdapter(); mDevicesAdapter = new DevicesAdapter();
mDeviceListView.setAdapter(mDevicesAdapter); mDeviceListView.setAdapter(mDevicesAdapter);