summaryrefslogtreecommitdiff
path: root/services/core
diff options
context:
space:
mode:
authorjunyulai <junyulai@google.com>2021-03-23 14:27:42 +0800
committerJunyu Lai <junyulai@google.com>2021-03-23 10:51:48 +0000
commit7472deb59b51cf38cafe80ec332ba30f1d91d86b (patch)
tree4db8cce8480bb05192dc02796604251948c20f0c /services/core
parent9327a5787665f4eb1e74b7e6b72c8337c6cac935 (diff)
Remove the reference of new Network(int) in Vpn.java
Test: atest FrameworksNetTests Bug: 182963397 Merged-In: I4176dd1298ad8d8e8407eb95b2e6cbb8faf4bc17 Change-Id: I4176dd1298ad8d8e8407eb95b2e6cbb8faf4bc17 (cherry-picked from ag/13959430)
Diffstat (limited to 'services/core')
-rw-r--r--services/core/java/com/android/server/connectivity/Vpn.java17
1 files changed, 4 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index 9519d80a98b2..c8f99825854a 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -1859,22 +1859,13 @@ public class Vpn {
/**
* Updates underlying network set.
*/
- public synchronized boolean setUnderlyingNetworks(Network[] networks) {
+ public synchronized boolean setUnderlyingNetworks(@Nullable Network[] networks) {
if (!isCallerEstablishedOwnerLocked()) {
return false;
}
- if (networks == null) {
- mConfig.underlyingNetworks = null;
- } else {
- mConfig.underlyingNetworks = new Network[networks.length];
- for (int i = 0; i < networks.length; ++i) {
- if (networks[i] == null) {
- mConfig.underlyingNetworks[i] = null;
- } else {
- mConfig.underlyingNetworks[i] = new Network(networks[i].getNetId());
- }
- }
- }
+ // Make defensive copy since the content of array might be altered by the caller.
+ mConfig.underlyingNetworks =
+ (networks != null) ? Arrays.copyOf(networks, networks.length) : null;
mNetworkAgent.setUnderlyingNetworks((mConfig.underlyingNetworks != null)
? Arrays.asList(mConfig.underlyingNetworks) : null);
return true;