summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;