Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 038fd80c authored by Maciej Żenczykowski's avatar Maciej Żenczykowski Committed by Automerger Merge Worker
Browse files

Merge "Fix system_server crash while iterating CookieTagMap" am: dd5a31eb...

Merge "Fix system_server crash while iterating CookieTagMap" am: dd5a31eb am: c1124eff am: 5f3045ca

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1990333

Change-Id: Ic459069134734d7bf80b45bb6acd2a9fded4afbb
parents e60fa2d0 5f3045ca
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1887,7 +1887,13 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
    private void deleteKernelTagData(int uid) {
        try {
            mCookieTagMap.forEach((key, value) -> {
                if (value.uid == uid) {
                // If SkDestroyListener deletes the socket tag while this code is running,
                // forEach will either restart iteration from the beginning or return null,
                // depending on when the deletion happens.
                // If it returns null, continue iteration to delete the data and in fact it would
                // just iterate from first key because BpfMap#getNextKey would return first key
                // if the current key is not exist.
                if (value != null && value.uid == uid) {
                    try {
                        mCookieTagMap.deleteEntry(key);
                    } catch (ErrnoException e) {