summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sunny Goyal <sunnygoyal@google.com> 2025-06-16 21:50:11 +0000
committer Kampalus <kampalus@protonmail.ch> 2025-09-18 09:21:11 +0200
commit314dfeff5f93b881c362721164b7d1817c283381 (patch)
tree6eeca22ff0a5d43fd55e8862f85c4eec328dc945
parent2801cb86a532f1362a0258d060667f916e2f6714 (diff)
[SP 2025-09-01] Ensuring valid packageName when granting slice permission
Bug: 401256328 Test: atest SliceManagerTest Flag: EXEMPT bugfix Change-Id: I8e28097c0570922d9fb9ec9588b45bf4361a5020
-rw-r--r--services/core/java/com/android/server/slice/SlicePermissionManager.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/slice/SlicePermissionManager.java b/services/core/java/com/android/server/slice/SlicePermissionManager.java
index d118eaea37d9..b66aaf10b993 100644
--- a/services/core/java/com/android/server/slice/SlicePermissionManager.java
+++ b/services/core/java/com/android/server/slice/SlicePermissionManager.java
@@ -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() {