From 47f67c1ff783422fa799128eb8f1215018855b26 Mon Sep 17 00:00:00 2001 From: Pierre Imai Date: Tue, 29 Mar 2016 16:04:47 +0900 Subject: [PATCH] Prevent multicast addresses in static Wifi config. Change-Id: I1961b10d67d322fb863620813fe9039b63bb7895 --- src/com/android/settings/wifi/WifiConfigController.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index 54bd3d076b7..ee6b503e132 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -682,7 +682,7 @@ public class WifiConfigController implements TextWatcher, if (TextUtils.isEmpty(ipAddr)) return R.string.wifi_ip_settings_invalid_ip_address; Inet4Address inetAddr = getIPv4Address(ipAddr); - if (inetAddr == null) { + if (inetAddr == null || inetAddr.equals(Inet4Address.ANY)) { return R.string.wifi_ip_settings_invalid_ip_address; } @@ -697,6 +697,8 @@ public class WifiConfigController implements TextWatcher, // Set the hint as default after user types in ip address mNetworkPrefixLengthView.setText(mConfigUi.getContext().getString( R.string.wifi_network_prefix_length_hint)); + } catch (IllegalArgumentException e) { + return R.string.wifi_ip_settings_invalid_ip_address; } String gateway = mGatewayView.getText().toString(); @@ -715,6 +717,9 @@ public class WifiConfigController implements TextWatcher, if (gatewayAddr == null) { return R.string.wifi_ip_settings_invalid_gateway; } + if (gatewayAddr.isMulticastAddress()) { + return R.string.wifi_ip_settings_invalid_gateway; + } staticIpConfiguration.gateway = gatewayAddr; }