Loading core/java/android/content/ContentProvider.java +107 −105 Original line number Original line Diff line number Diff line Loading @@ -398,7 +398,17 @@ public abstract class ContentProvider implements ComponentCallbacks2 { return AppOpsManager.MODE_ALLOWED; return AppOpsManager.MODE_ALLOWED; } } private void enforceReadPermissionInner(Uri uri) throws SecurityException { private int enforceWritePermission(String callingPkg, Uri uri) throws SecurityException { enforceWritePermissionInner(uri); if (mWriteOp != AppOpsManager.OP_NONE) { return mAppOpsManager.noteOp(mWriteOp, Binder.getCallingUid(), callingPkg); } return AppOpsManager.MODE_ALLOWED; } } /** {@hide} */ protected void enforceReadPermissionInner(Uri uri) throws SecurityException { final Context context = getContext(); final Context context = getContext(); final int pid = Binder.getCallingPid(); final int pid = Binder.getCallingPid(); final int uid = Binder.getCallingUid(); final int uid = Binder.getCallingUid(); Loading Loading @@ -459,15 +469,8 @@ public abstract class ContentProvider implements ComponentCallbacks2 { + ", uid=" + uid + failReason); + ", uid=" + uid + failReason); } } private int enforceWritePermission(String callingPkg, Uri uri) throws SecurityException { /** {@hide} */ enforceWritePermissionInner(uri); protected void enforceWritePermissionInner(Uri uri) throws SecurityException { if (mWriteOp != AppOpsManager.OP_NONE) { return mAppOpsManager.noteOp(mWriteOp, Binder.getCallingUid(), callingPkg); } return AppOpsManager.MODE_ALLOWED; } private void enforceWritePermissionInner(Uri uri) throws SecurityException { final Context context = getContext(); final Context context = getContext(); final int pid = Binder.getCallingPid(); final int pid = Binder.getCallingPid(); final int uid = Binder.getCallingUid(); final int uid = Binder.getCallingUid(); Loading Loading @@ -527,7 +530,6 @@ public abstract class ContentProvider implements ComponentCallbacks2 { + ContentProvider.this.getClass().getName() + " uri " + uri + " from pid=" + pid + ContentProvider.this.getClass().getName() + " uri " + uri + " from pid=" + pid + ", uid=" + uid + failReason); + ", uid=" + uid + failReason); } } } /** /** * Retrieves the Context this provider is running in. Only available once * Retrieves the Context this provider is running in. Only available once Loading core/java/android/provider/DocumentsProvider.java +1 −4 Original line number Original line Diff line number Diff line Loading @@ -512,10 +512,7 @@ public abstract class DocumentsProvider extends ContentProvider { final boolean callerHasManage = final boolean callerHasManage = context.checkCallingOrSelfPermission(android.Manifest.permission.MANAGE_DOCUMENTS) context.checkCallingOrSelfPermission(android.Manifest.permission.MANAGE_DOCUMENTS) == PackageManager.PERMISSION_GRANTED; == PackageManager.PERMISSION_GRANTED; if (!callerHasManage) { enforceWritePermissionInner(documentUri); getContext().enforceCallingOrSelfUriPermission( documentUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, method); } final Bundle out = new Bundle(); final Bundle out = new Bundle(); try { try { Loading Loading
core/java/android/content/ContentProvider.java +107 −105 Original line number Original line Diff line number Diff line Loading @@ -398,7 +398,17 @@ public abstract class ContentProvider implements ComponentCallbacks2 { return AppOpsManager.MODE_ALLOWED; return AppOpsManager.MODE_ALLOWED; } } private void enforceReadPermissionInner(Uri uri) throws SecurityException { private int enforceWritePermission(String callingPkg, Uri uri) throws SecurityException { enforceWritePermissionInner(uri); if (mWriteOp != AppOpsManager.OP_NONE) { return mAppOpsManager.noteOp(mWriteOp, Binder.getCallingUid(), callingPkg); } return AppOpsManager.MODE_ALLOWED; } } /** {@hide} */ protected void enforceReadPermissionInner(Uri uri) throws SecurityException { final Context context = getContext(); final Context context = getContext(); final int pid = Binder.getCallingPid(); final int pid = Binder.getCallingPid(); final int uid = Binder.getCallingUid(); final int uid = Binder.getCallingUid(); Loading Loading @@ -459,15 +469,8 @@ public abstract class ContentProvider implements ComponentCallbacks2 { + ", uid=" + uid + failReason); + ", uid=" + uid + failReason); } } private int enforceWritePermission(String callingPkg, Uri uri) throws SecurityException { /** {@hide} */ enforceWritePermissionInner(uri); protected void enforceWritePermissionInner(Uri uri) throws SecurityException { if (mWriteOp != AppOpsManager.OP_NONE) { return mAppOpsManager.noteOp(mWriteOp, Binder.getCallingUid(), callingPkg); } return AppOpsManager.MODE_ALLOWED; } private void enforceWritePermissionInner(Uri uri) throws SecurityException { final Context context = getContext(); final Context context = getContext(); final int pid = Binder.getCallingPid(); final int pid = Binder.getCallingPid(); final int uid = Binder.getCallingUid(); final int uid = Binder.getCallingUid(); Loading Loading @@ -527,7 +530,6 @@ public abstract class ContentProvider implements ComponentCallbacks2 { + ContentProvider.this.getClass().getName() + " uri " + uri + " from pid=" + pid + ContentProvider.this.getClass().getName() + " uri " + uri + " from pid=" + pid + ", uid=" + uid + failReason); + ", uid=" + uid + failReason); } } } /** /** * Retrieves the Context this provider is running in. Only available once * Retrieves the Context this provider is running in. Only available once Loading
core/java/android/provider/DocumentsProvider.java +1 −4 Original line number Original line Diff line number Diff line Loading @@ -512,10 +512,7 @@ public abstract class DocumentsProvider extends ContentProvider { final boolean callerHasManage = final boolean callerHasManage = context.checkCallingOrSelfPermission(android.Manifest.permission.MANAGE_DOCUMENTS) context.checkCallingOrSelfPermission(android.Manifest.permission.MANAGE_DOCUMENTS) == PackageManager.PERMISSION_GRANTED; == PackageManager.PERMISSION_GRANTED; if (!callerHasManage) { enforceWritePermissionInner(documentUri); getContext().enforceCallingOrSelfUriPermission( documentUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, method); } final Bundle out = new Bundle(); final Bundle out = new Bundle(); try { try { Loading