From f1ab80ea6281ddda256af5e04c0b50e114521c40 Mon Sep 17 00:00:00 2001 From: Patrick Rohr Date: Fri, 20 May 2022 12:00:36 -0700 Subject: [PATCH] NetworkRequest.Builder should create a defensive copy of capabilities This broke my tests in unexpected ways as creating a new NetworkRequest.Builder() changed the static request object. Test: TH && atest EthernetManagerTest Change-Id: Ia6c39145cf92a2795f7fc2f4efbcb46d193f6b72 --- framework/src/android/net/NetworkRequest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/android/net/NetworkRequest.java b/framework/src/android/net/NetworkRequest.java index 4f9d8455b5..6245e07d5c 100644 --- a/framework/src/android/net/NetworkRequest.java +++ b/framework/src/android/net/NetworkRequest.java @@ -220,7 +220,7 @@ public class NetworkRequest implements Parcelable { */ public Builder(@NonNull final NetworkRequest request) { Objects.requireNonNull(request); - mNetworkCapabilities = request.networkCapabilities; + mNetworkCapabilities = new NetworkCapabilities(request.networkCapabilities); // If the caller constructed the builder from a request, it means the user // might explicitly want the capabilities from the request. Thus, the NOT_VCN_MANAGED // capabilities should not be touched later.