summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2019-04-30 10:50:59 -0700
committerSudheer Shanka <sudheersai@google.com>2019-04-30 10:50:59 -0700
commitfce964a60cb69041d47d4bf4f37ab08232bde86a (patch)
treed6110dff5318ef5632ed1b624d75297a8dc0b075
parentfca4711560d491fb0742e657487d5dcf4f0e57f5 (diff)
downloadandroid_packages_providers_DownloadProvider-fce964a60cb69041d47d4bf4f37ab08232bde86a.tar.gz
android_packages_providers_DownloadProvider-fce964a60cb69041d47d4bf4f37ab08232bde86a.tar.bz2
android_packages_providers_DownloadProvider-fce964a60cb69041d47d4bf4f37ab08232bde86a.zip
Skip restrictions if DownloadProvider itself is trying to add a download.
Fixes: 131624566 Fixes: 131610977 Test: manual Change-Id: I771ff8a39ac977c510f1785c3cb61e859bbb0c0f
-rw-r--r--src/com/android/providers/downloads/DownloadProvider.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/com/android/providers/downloads/DownloadProvider.java b/src/com/android/providers/downloads/DownloadProvider.java
index a6159ca7..1c26e0c0 100644
--- a/src/com/android/providers/downloads/DownloadProvider.java
+++ b/src/com/android/providers/downloads/DownloadProvider.java
@@ -1053,7 +1053,9 @@ public final class DownloadProvider extends ContentProvider {
final boolean runningLegacyMode = appOpsManager.checkOp(AppOpsManager.OP_LEGACY_STORAGE,
Binder.getCallingUid(), getCallingPackage()) == AppOpsManager.MODE_ALLOWED;
- if (Helpers.isFilenameValidInExternalPackage(getContext(), file, getCallingPackage())) {
+ if (Binder.getCallingPid() == Process.myPid()) {
+ return;
+ } else if (Helpers.isFilenameValidInExternalPackage(getContext(), file, getCallingPackage())) {
// No permissions required for paths belonging to calling package.
return;
} else if ((runningLegacyMode && Helpers.isFilenameValidInPublicDownloadsDir(file))