diff options
| author | 2024-02-08 23:22:24 +0000 | |
|---|---|---|
| committer | 2024-02-08 23:39:59 +0000 | |
| commit | c836b63f2b06bdd66cdc3cd7a3707df4ff3a0fa1 (patch) | |
| tree | 2c3c0055bc6f5bbfff5113661d94d25971a41b3c | |
| parent | c8a73723476ba714efa119f35daf476f314b10c5 (diff) | |
Fix NPEs in UriPermission.
Change-Id: I246bf789246f626d6addc5626ba23524e73fbaa4
Fixes: 324350413
Test: builds/flashes
| -rw-r--r-- | services/core/java/com/android/server/uri/UriPermission.java | 6 |
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; |