summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Varun Shah <varunshah@google.com> 2024-02-08 23:22:24 +0000
committer Varun Shah <varunshah@google.com> 2024-02-08 23:39:59 +0000
commitc836b63f2b06bdd66cdc3cd7a3707df4ff3a0fa1 (patch)
tree2c3c0055bc6f5bbfff5113661d94d25971a41b3c
parentc8a73723476ba714efa119f35daf476f314b10c5 (diff)
Fix NPEs in UriPermission.
Change-Id: I246bf789246f626d6addc5626ba23524e73fbaa4 Fixes: 324350413 Test: builds/flashes
-rw-r--r--services/core/java/com/android/server/uri/UriPermission.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/uri/UriPermission.java b/services/core/java/com/android/server/uri/UriPermission.java
index f3eeab0a4174..e406eb2c2a48 100644
--- a/services/core/java/com/android/server/uri/UriPermission.java
+++ b/services/core/java/com/android/server/uri/UriPermission.java
@@ -269,8 +269,9 @@ final class UriPermission {
* Remove given read owner, updating {@Link #modeFlags} as needed.
*/
void removeReadOwner(UriPermissionOwner owner) {
- if (!mReadOwners.remove(owner)) {
+ if (mReadOwners == null || !mReadOwners.remove(owner)) {
Slog.wtf(TAG, "Unknown read owner " + owner + " in " + this);
+ return;
}
if (mReadOwners.size() == 0) {
mReadOwners = null;
@@ -294,8 +295,9 @@ final class UriPermission {
* Remove given write owner, updating {@Link #modeFlags} as needed.
*/
void removeWriteOwner(UriPermissionOwner owner) {
- if (!mWriteOwners.remove(owner)) {
+ if (mWriteOwners == null || !mWriteOwners.remove(owner)) {
Slog.wtf(TAG, "Unknown write owner " + owner + " in " + this);
+ return;
}
if (mWriteOwners.size() == 0) {
mWriteOwners = null;