From c4f39047b4519d8bd65197cbe9c667f474074520 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 17 May 2026 23:27:21 +0200 Subject: [PATCH] Check pasted content URI type --- app/src/main/java/eu/faircode/email/EditTextCompose.java | 5 ++++- app/src/main/java/eu/faircode/email/FragmentCompose.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/EditTextCompose.java b/app/src/main/java/eu/faircode/email/EditTextCompose.java index b5ca75820d..425034d1d3 100644 --- a/app/src/main/java/eu/faircode/email/EditTextCompose.java +++ b/app/src/main/java/eu/faircode/email/EditTextCompose.java @@ -622,7 +622,7 @@ public class EditTextCompose extends FixedEditText { ClipData.Item item = cbm.getPrimaryClip().getItemAt(0); Uri uri = item.getUri(); - if (inputContentListener != null && uri != null) { + if (inputContentListener != null && uri != null && "content".equals(uri.getScheme())) { String type = Helper.guessMimeType(uri.getLastPathSegment()); inputContentListener.onInputContent(uri, type); return true; @@ -840,6 +840,9 @@ public class EditTextCompose extends FixedEditText { if (inputContentListener == null) throw new IllegalArgumentException("InputContent listener not set"); + if (!"content".equals(info.getContentUri().getScheme())) + throw new IllegalArgumentException("Invalid uri=" + info.getContentUri()); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 && (flags & InputConnectionCompat.INPUT_CONTENT_GRANT_READ_URI_PERMISSION) != 0) info.requestPermission(); diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 29d591e21b..7f675aea2f 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -660,7 +660,7 @@ public class FragmentCompose extends FragmentBase { etBody.setInputContentListener(new EditTextCompose.IInputContentListener() { @Override public void onInputContent(Uri uri, String type) { - Log.i("Received input uri=" + uri); + Log.i("Received input uri=" + uri + " type=" + type); UriType uriType = new UriType(uri, type, null); onSharedAttachments(new ArrayList<>(Arrays.asList(uriType))); }