Ignore CRLF strings in display SSIDs to avoid display errors

- Keep user-entered SSIDs in Wi-Fi Configuration

- Ignore CRLF strings in display SSIDs only

Bug: 224545390
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=AddAppNetworksFragmentTest

Change-Id: Ifc081f9c5c02b2d70412f296688b88e44e893add
This commit is contained in:
Weng Su
2022-07-05 03:16:08 +08:00
parent 2f79c879cc
commit 08adf4c2ed
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;