summaryrefslogtreecommitdiff
path: root/core/java/android/net/LinkAddress.java
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2011-02-11 17:01:02 -0800
committerRobert Greenwalt <rgreenwalt@google.com>2011-02-14 14:32:33 -0800
commitb979f79158f9c470fa09ff3b96d72db274262201 (patch)
treebdad85179cdaef4d411b4b7d333c4c03e82682f8 /core/java/android/net/LinkAddress.java
parentb495eb90cfc62c9fe393e70d2dc9766c81b3a880 (diff)
Remove more use of netmask
bug:2542681 Change-Id: Ifd75672739ee8262d4df22afd8173e4f3f67260d
Diffstat (limited to 'core/java/android/net/LinkAddress.java')
-rw-r--r--core/java/android/net/LinkAddress.java24
1 files changed, 7 insertions, 17 deletions
diff --git a/core/java/android/net/LinkAddress.java b/core/java/android/net/LinkAddress.java
index 3f03a2a875d5..9c36b1276526 100644
--- a/core/java/android/net/LinkAddress.java
+++ b/core/java/android/net/LinkAddress.java
@@ -19,6 +19,7 @@ package android.net;
import android.os.Parcel;
import android.os.Parcelable;
+import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.InterfaceAddress;
import java.net.UnknownHostException;
@@ -38,12 +39,13 @@ public class LinkAddress implements Parcelable {
*/
private final int prefixLength;
- public LinkAddress(InetAddress address, InetAddress mask) {
- this.address = address;
- this.prefixLength = computeprefixLength(mask);
- }
-
public LinkAddress(InetAddress address, int prefixLength) {
+ if (address == null || prefixLength < 0 ||
+ ((address instanceof Inet4Address) && prefixLength > 32) ||
+ (prefixLength > 128)) {
+ throw new IllegalArgumentException("Bad LinkAddress params " + address +
+ prefixLength);
+ }
this.address = address;
this.prefixLength = prefixLength;
}
@@ -53,18 +55,6 @@ public class LinkAddress implements Parcelable {
this.prefixLength = interfaceAddress.getNetworkPrefixLength();
}
- private static int computeprefixLength(InetAddress mask) {
- int count = 0;
- for (byte b : mask.getAddress()) {
- for (int i = 0; i < 8; ++i) {
- if ((b & (1 << i)) != 0) {
- ++count;
- }
- }
- }
- return count;
- }
-
@Override
public String toString() {
return (address == null ? "" : (address.getHostAddress() + "/" + prefixLength));