diff options
author | 2025-06-16 21:50:11 +0000 | |
---|---|---|
committer | 2025-09-18 09:21:11 +0200 | |
commit | 314dfeff5f93b881c362721164b7d1817c283381 (patch) | |
tree | 6eeca22ff0a5d43fd55e8862f85c4eec328dc945 | |
parent | 2801cb86a532f1362a0258d060667f916e2f6714 (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.java | 14 |
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() { |