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

Commit 256c320b authored by Makoto Onuki's avatar Makoto Onuki Committed by android-build-merger
Browse files

Merge "Fix erroneous protected-broadcast check" into pi-dev

am: 8c6aa943

Change-Id: I42e5193e8710c4a04adb9ff66d2be21050627b3e
parents 26391412 8c6aa943
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -20803,8 +20803,16 @@ public class ActivityManagerService extends IActivityManager.Stub
        // explicitly list each action as a protected broadcast, so we will check for that
        // one safe case and allow it: an explicit broadcast, only being received by something
        // that has protected itself.
        if (receivers != null && receivers.size() > 0
                && (intent.getPackage() != null || intent.getComponent() != null)) {
        if (intent.getPackage() != null || intent.getComponent() != null) {
            if (receivers == null || receivers.size() == 0) {
                // Intent is explicit and there's no receivers.
                // This happens, e.g. , when a system component sends a broadcast to
                // its own runtime receiver, and there's no manifest receivers for it,
                // because this method is called twice for each broadcast,
                // for runtime receivers and manifest receivers and the later check would find
                // no receivers.
                return;
            }
            boolean allProtected = true;
            for (int i = receivers.size()-1; i >= 0; i--) {
                Object target = receivers.get(i);