diff options
author | Sudheer Shanka <sudheersai@google.com> | 2019-04-30 10:50:59 -0700 |
---|---|---|
committer | Sudheer Shanka <sudheersai@google.com> | 2019-04-30 10:50:59 -0700 |
commit | fce964a60cb69041d47d4bf4f37ab08232bde86a (patch) | |
tree | d6110dff5318ef5632ed1b624d75297a8dc0b075 | |
parent | fca4711560d491fb0742e657487d5dcf4f0e57f5 (diff) | |
download | android_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.java | 4 |
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)) |