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

Commit bae8ab23 authored by Sunny Goyal's avatar Sunny Goyal Committed by Android Build Coastguard Worker
Browse files

Ensuring valid packageName when granting slice permission

Bug: 401256328
Test: atest SliceManagerTest
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:53dc72fedf79f8af1e66be737bc81dac4967645d)
Merged-In: I8e28097c0570922d9fb9ec9588b45bf4361a5020
Change-Id: I8e28097c0570922d9fb9ec9588b45bf4361a5020
parent 3668e1d4
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() {