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

Commit 01055f01 authored by Pranav Madapurmath's avatar Pranav Madapurmath Committed by Automerger Merge Worker
Browse files

Merge "Resolve cross-user image exploit for conference status hints" into sc-dev am: 7a697439

parents aaba434a 7a697439
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -136,10 +136,17 @@ public class ConnectionServiceWrapper extends ServiceBinder implements
                ParcelableConference conference, Session.Info sessionInfo) {
                ParcelableConference conference, Session.Info sessionInfo) {
            Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE,
            Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE,
                    mPackageAbbreviation);
                    mPackageAbbreviation);
            UserHandle callingUserHandle = Binder.getCallingUserHandle();
            long token = Binder.clearCallingIdentity();
            long token = Binder.clearCallingIdentity();
            try {
            try {
                synchronized (mLock) {
                synchronized (mLock) {
                    logIncoming("handleCreateConferenceComplete %s", callId);
                    logIncoming("handleCreateConferenceComplete %s", callId);
                    // Check status hints image for cross user access
                    if (conference.getStatusHints() != null) {
                        Icon icon = conference.getStatusHints().getIcon();
                        conference.getStatusHints().setIcon(StatusHints.
                                validateAccountIconUserBoundary(icon, callingUserHandle));
                    }
                    Call call = mCallIdMapper.getCall(callId);
                    Call call = mCallIdMapper.getCall(callId);
                    if (mScheduledFutureMap.containsKey(call)) {
                    if (mScheduledFutureMap.containsKey(call)) {
                        ScheduledFuture<?> existingTimeout = mScheduledFutureMap.get(call);
                        ScheduledFuture<?> existingTimeout = mScheduledFutureMap.get(call);