summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-12-05 09:38:42 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-12-05 09:38:42 +0000
commitcdb84d2fc722f9f28bbcaee949798324c95c068a (patch)
tree4526d8d340e67a5c650b3fa825bed5b095a23eae
parent1a2a45667b8c4d40db315a6b4c34e5a8f36719df (diff)
parentd2c5b1925b32842394ec054edc97e1fb2da0103b (diff)
Merge "Fix bug in MacAddress.fromString()"
-rw-r--r--core/java/android/net/MacAddress.java5
-rw-r--r--tests/net/java/android/net/MacAddressTest.java3
2 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/net/MacAddress.java b/core/java/android/net/MacAddress.java
index 441fad88ea4f..5620a627df7f 100644
--- a/core/java/android/net/MacAddress.java
+++ b/core/java/android/net/MacAddress.java
@@ -280,9 +280,8 @@ public final class MacAddress implements Parcelable {
throw new IllegalArgumentException(addr + " was not a valid MAC address");
}
long longAddr = 0;
- int index = ETHER_ADDR_LEN;
- while (index-- > 0) {
- int x = Integer.valueOf(parts[index], 16);
+ for (int i = 0; i < parts.length; i++) {
+ int x = Integer.valueOf(parts[i], 16);
if (x < 0 || 0xff < x) {
throw new IllegalArgumentException(addr + "was not a valid MAC address");
}
diff --git a/tests/net/java/android/net/MacAddressTest.java b/tests/net/java/android/net/MacAddressTest.java
index 772ff8d1cc62..558dbb69aeb6 100644
--- a/tests/net/java/android/net/MacAddressTest.java
+++ b/tests/net/java/android/net/MacAddressTest.java
@@ -161,6 +161,9 @@ public class MacAddressTest {
assertEquals(mac, MacAddress.fromString(stringRepr));
assertEquals(mac, MacAddress.fromBytes(bytesRepr));
+
+ assertEquals(mac, MacAddress.fromString(MacAddress.stringAddrFromByteAddr(bytesRepr)));
+ assertEquals(mac, MacAddress.fromBytes(MacAddress.byteAddrFromStringAddr(stringRepr)));
}
}