diff options
| author | 2021-02-16 19:25:10 +0000 | |
|---|---|---|
| committer | 2021-02-17 16:11:15 +0000 | |
| commit | e68c1f3d6a2ad12cb47a5b2b1311a0bdc7b47d01 (patch) | |
| tree | 244325809a9edb1a2905561a02308b43ca918d10 | |
| parent | 4803f15861542600c6a75b3398bbe8d6952c3007 (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.java | 9 |
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); |