summaryrefslogtreecommitdiff
path: root/services/net
diff options
context:
space:
mode:
authorXiao Ma <xiaom@google.com>2019-03-14 18:14:36 +0900
committerXiao Ma <xiaom@google.com>2019-06-07 20:30:16 +0900
commita66de9c21eac7e57bcf2adb667c2ef679870d48c (patch)
tree4198e8f3de763636626109518a36d2820fdbb39f /services/net
parentfe283df7abf4de27ab52c7cd998b4d5dfe01f1ac (diff)
Fix the potential NullPointerException.
The networkAttributesParcelable retrieved from IpMemoryStore might be null, it might cause crash with NullPointerException when attepmting to read from the field on a null object reference. Bug: 122710829 Test: atest FrameworksNetTests NetworkStackTests Change-Id: Id7527199424e55f1e14836e81a5d1965d13013a2
Diffstat (limited to 'services/net')
-rw-r--r--services/net/java/android/net/ipmemorystore/NetworkAttributes.java5
-rw-r--r--services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java4
2 files changed, 6 insertions, 3 deletions
diff --git a/services/net/java/android/net/ipmemorystore/NetworkAttributes.java b/services/net/java/android/net/ipmemorystore/NetworkAttributes.java
index e76976991797..818515ac9af1 100644
--- a/services/net/java/android/net/ipmemorystore/NetworkAttributes.java
+++ b/services/net/java/android/net/ipmemorystore/NetworkAttributes.java
@@ -127,6 +127,7 @@ public class NetworkAttributes {
@Nullable
private static InetAddress getByAddressOrNull(@Nullable final byte[] address) {
+ if (null == address) return null;
try {
return InetAddress.getByAddress(address);
} catch (UnknownHostException e) {
@@ -227,7 +228,9 @@ public class NetworkAttributes {
}
/**
- * Set the lease expiry timestamp of assigned v4 address.
+ * Set the lease expiry timestamp of assigned v4 address. Long.MAX_VALUE is used
+ * to represent "infinite lease".
+ *
* @param assignedV4AddressExpiry The lease expiry timestamp of assigned v4 address.
* @return This builder.
*/
diff --git a/services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java b/services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java
index ca6f3029d496..395ad98f38e0 100644
--- a/services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java
+++ b/services/net/java/android/net/ipmemorystore/OnNetworkAttributesRetrievedListener.java
@@ -40,8 +40,8 @@ public interface OnNetworkAttributesRetrievedListener {
// NonNull, but still don't crash the system server if null
if (null != listener) {
listener.onNetworkAttributesRetrieved(
- new Status(statusParcelable), l2Key,
- new NetworkAttributes(networkAttributesParcelable));
+ new Status(statusParcelable), l2Key, null == networkAttributesParcelable
+ ? null : new NetworkAttributes(networkAttributesParcelable));
}
}