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

Commit 2d69ab87 authored by Svet Ganov's avatar Svet Ganov Committed by Svetoslav Ganov
Browse files

Make package handling in openContentUri more robust

Test: manual

bug: 185455561

Change-Id: Id66c5d41e2c456a8d68c23d10ccd8e86b539e6a5
parent 21eeb8c9
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -6216,8 +6216,20 @@ public class ActivityManagerService extends IActivityManager.Stub
                // signature we just use the first package in the UID. For shared
                // UIDs we may blame the wrong app but that is Okay as they are
                // in the same security/privacy sandbox.
                final AndroidPackage androidPackage = mPackageManagerInt
                        .getPackage(Binder.getCallingUid());
                final int uid = Binder.getCallingUid();
                // Here we handle some of the special UIDs (mediaserver, systemserver, etc)
                final String packageName = AppOpsManager.resolvePackageName(uid,
                        /*packageName*/ null);
                final AndroidPackage androidPackage;
                if (packageName != null) {
                    androidPackage = mPackageManagerInt.getPackage(packageName);
                } else {
                    androidPackage = mPackageManagerInt.getPackage(uid);
                }
                if (androidPackage == null) {
                    Log.e(TAG, "Cannot find package for uid: " + uid);
                    return null;
                }
                final AttributionSource attributionSource = new AttributionSource(
                        Binder.getCallingUid(), androidPackage.getPackageName(), null);
                pfd = cph.provider.openFile(attributionSource, uri, "r", null);