From afd9acdb176052f8ab4b974bba60945ad5586603 Mon Sep 17 00:00:00 2001 From: junyulai Date: Tue, 23 Mar 2021 14:27:42 +0800 Subject: [PATCH] Remove the reference of new Network(int) in Vpn.java Test: atest FrameworksNetTests Bug: 182963397 Change-Id: I4176dd1298ad8d8e8407eb95b2e6cbb8faf4bc17 --- .../com/android/server/connectivity/Vpn.java | 17 ++++------------- 1 file 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 83866c6c89d5d..23f870c1d658b 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;