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

Commit 63e03b21 authored by James O'Leary's avatar James O'Leary Committed by Android (Google) Code Review
Browse files

Merge "WallpaperManagerService - avoid leaking whether a package is installed"

parents a40df7d8 5451c68c
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -2260,8 +2260,17 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
            IWallpaperManagerCallback cb, final int which, Bundle outParams, int wallpaperUserId) {
        final boolean hasPrivilege = hasPermission(READ_WALLPAPER_INTERNAL);
        if (!hasPrivilege) {
            try {
                mContext.getSystemService(StorageManager.class).checkPermissionReadImages(true,
                    Binder.getCallingPid(), Binder.getCallingUid(), callingPkg, callingFeatureId);
                        Binder.getCallingPid(), Binder.getCallingUid(), callingPkg,
                        callingFeatureId);
            } catch (Exception e) {
                // If the calling package name does not match a package installed on the system,
                // an exception is thrown. Don't allow that exception to be thrown, otherwise,
                // there is a difference in control flow that allows calling apps to determine
                // if a package is installed on the device.
                return null;
            }
        }

        wallpaperUserId = ActivityManager.handleIncomingUser(Binder.getCallingPid(),