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; }