diff options
| author | 2021-03-23 14:27:42 +0800 | |
|---|---|---|
| committer | 2021-03-23 15:28:13 +0800 | |
| commit | afd9acdb176052f8ab4b974bba60945ad5586603 (patch) | |
| tree | 52f35d2df36e581b402277e76d99e263cbf95a62 | |
| parent | 22ca35989548471cc94c00b899b3daa4573aa9de (diff) | |
Remove the reference of new Network(int) in Vpn.java
Test: atest FrameworksNetTests
Bug: 182963397
Change-Id: I4176dd1298ad8d8e8407eb95b2e6cbb8faf4bc17
| -rw-r--r-- | services/core/java/com/android/server/connectivity/Vpn.java | 17 |
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 83866c6c89d5..23f870c1d658 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; |