diff options
| -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; |