commit | 5d714cf50489917725739563f846440f51a93460 | [log] [tgz] |
---|---|---|
author | Tyler Wear <twear@quicinc.com> | Wed Sep 29 01:09:25 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Wed Sep 29 01:09:25 2021 +0000 |
tree | 58353b68518740e667085ad606e9adfd604aa35a | |
parent | f1a44a6d7b1871ef348e758bfb70dda0094afe0b [diff] | |
parent | f405adead7d13b2fec7164356bd534e9ae8487fe [diff] |
Fix NetworkOffer Death link does not exist am: 3ec7e6d9fb am: f405adead7 Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1799528 Change-Id: Ic3a2db5194bf2211d920d44ea90976546409dd6c
diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index 47c1acb..bf3d996 100644 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java
@@ -6908,7 +6908,11 @@ if (DBG) { log("unregister offer from providerId " + noi.offer.providerId + " : " + noi.offer); } - mNetworkOffers.remove(noi); + + // If the provider removes the offer and dies immediately afterwards this + // function may be called twice in a row, but the array will no longer contain + // the offer. + if (!mNetworkOffers.remove(noi)) return; noi.offer.callback.asBinder().unlinkToDeath(noi, 0 /* flags */); }