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

Commit 5f3045ca 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 am: c1124eff

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

Change-Id: I6da755077fd8a6bebb8209f0d747e0d54b988c48
parents 399ae54b c1124eff
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1875,7 +1875,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) {