From 7472deb59b51cf38cafe80ec332ba30f1d91d86b Mon Sep 17 00:00:00 2001 From: junyulai Date: Tue, 23 Mar 2021 14:27:42 +0800 Subject: 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) --- .../core/java/com/android/server/connectivity/Vpn.java | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'services/core/java') 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; -- cgit v1.2.3