summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andras Kloczl <andraskloczl@google.com> 2021-02-16 19:25:10 +0000
committer Andras Kloczl <andraskloczl@google.com> 2021-02-17 16:11:15 +0000
commite68c1f3d6a2ad12cb47a5b2b1311a0bdc7b47d01 (patch)
tree244325809a9edb1a2905561a02308b43ca918d10
parent4803f15861542600c6a75b3398bbe8d6952c3007 (diff)
Prevent using invalid result uri during multi user image change
Test: manual Bug: 172939189 Change-Id: Id2e598878b3250e8b3590905c6def561e2437d55
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java b/packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java
index ecd40667843e..f9584a3e15e9 100644
--- a/packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java
+++ b/packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java
@@ -38,6 +38,7 @@ import android.os.UserHandle;
import android.os.UserManager;
import android.provider.ContactsContract.DisplayPhoto;
import android.provider.MediaStore;
+import android.util.EventLog;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
@@ -126,6 +127,14 @@ public class EditUserPhotoController {
}
final Uri pictureUri = data != null && data.getData() != null
? data.getData() : mTakePictureUri;
+
+ // Check if the result is a content uri
+ if (!ContentResolver.SCHEME_CONTENT.equals(pictureUri.getScheme())) {
+ Log.e(TAG, "Invalid pictureUri scheme: " + pictureUri.getScheme());
+ EventLog.writeEvent(0x534e4554, "172939189", -1, pictureUri.getPath());
+ return false;
+ }
+
switch (requestCode) {
case REQUEST_CODE_CROP_PHOTO:
onPhotoCropped(pictureUri);