Merge "Ignore CRLF strings in display SSIDs to avoid display errors" into tm-qpr-dev

This commit is contained in:
TreeHugger Robot
2022-07-06 19:32:12 +00:00
committed by Android (Google) Code Review
2 changed files with 38 additions and 1 deletions

View File

@@ -39,6 +39,7 @@ import android.os.SimpleClock;
import android.os.SystemClock;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.EventLog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -518,7 +519,13 @@ public class AddAppNetworksFragment extends InstrumentedFragment implements
UiConfigurationItem(String displayedSsid, WifiNetworkSuggestion wifiNetworkSuggestion,
int index, int level) {
mDisplayedSsid = displayedSsid;
if (displayedSsid.contains("\n") || displayedSsid.contains("\r")) {
mDisplayedSsid = displayedSsid.replaceAll("\\r|\\n", "");
Log.e(TAG, "Ignore CRLF strings in display SSIDs to avoid display errors!");
EventLog.writeEvent(0x534e4554, "224545390", -1 /* UID */, "CRLF injection");
} else {
mDisplayedSsid = displayedSsid;
}
mWifiNetworkSuggestion = wifiNetworkSuggestion;
mIndex = index;
mLevel = level;

View File

@@ -455,6 +455,36 @@ public class AddAppNetworksFragmentTest {
AddAppNetworksFragment.MESSAGE_SHOW_SAVE_FAILED)).isTrue();
}
@Test
public void uiConfigurationItem_putCrToDisplayedSsid_shouldRemoveCr() {
String testSsid = "\r" + FAKE_NEW_WPA_SSID + "\r";
AddAppNetworksFragment.UiConfigurationItem item =
new AddAppNetworksFragment.UiConfigurationItem(testSsid, null, 0, 0);
assertThat(item.mDisplayedSsid).isEqualTo(FAKE_NEW_WPA_SSID);
}
@Test
public void uiConfigurationItem_putLfToDisplayedSsid_shouldRemoveLf() {
String testSsid = "\n" + FAKE_NEW_WPA_SSID + "\n";
AddAppNetworksFragment.UiConfigurationItem item =
new AddAppNetworksFragment.UiConfigurationItem(testSsid, null, 0, 0);
assertThat(item.mDisplayedSsid).isEqualTo(FAKE_NEW_WPA_SSID);
}
@Test
public void uiConfigurationItem_putCrLfToDisplayedSsid_shouldRemoveCrLf() {
String testSsid = "\r\n" + FAKE_NEW_WPA_SSID + "\r\n";
AddAppNetworksFragment.UiConfigurationItem item =
new AddAppNetworksFragment.UiConfigurationItem(testSsid, null, 0, 0);
assertThat(item.mDisplayedSsid).isEqualTo(FAKE_NEW_WPA_SSID);
}
private void setUpOneScannedNetworkWithScanedLevel4() {
final ArrayList list = new ArrayList<>();
list.add(mWifiEntry);