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

Commit 5f0874dd authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Ensuring valid packageName when granting slice permission

Bug: 401256328
Test: atest SliceManagerTest
Flag: EXEMPT bugfix
Change-Id: I8e28097c0570922d9fb9ec9588b45bf4361a5020
parent 2d2c1fa2
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -16,11 +16,13 @@ package com.android.server.slice;

import android.content.ContentProvider;
import android.content.Context;
import android.content.pm.parsing.FrameworkParsingPackageUtils;
import android.net.Uri;
import android.os.Environment;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
@@ -424,6 +426,7 @@ public class SlicePermissionManager implements DirtyTracker {
        public PkgUser(String pkg, int userId) {
            mPkg = pkg;
            mUserId = userId;
            enforceValidPackage();
        }

        public PkgUser(String pkgUserStr) throws IllegalArgumentException {
@@ -434,6 +437,17 @@ public class SlicePermissionManager implements DirtyTracker {
            } catch (Exception e) {
                throw new IllegalArgumentException(e);
            }
            enforceValidPackage();
        }

        private void enforceValidPackage() {
            String error = FrameworkParsingPackageUtils.validateName(
                    mPkg,
                    false /* requireSeparator */,
                    true /* requireFilename */);
            if (!TextUtils.isEmpty(error)) {
                throw new IllegalArgumentException((error));
            }
        }

        public String getPkg() {