From 264cfc375de6427aeb9e9d4fcad54f94c3633cc3 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 24 Sep 2019 20:04:43 +0200 Subject: [PATCH] Catch content resolver security exception --- .../eu/faircode/email/FragmentCompose.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index aeced6c51b..1922709673 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -1840,16 +1840,19 @@ public class FragmentCompose extends FragmentBase { String name = uri.getLastPathSegment(); String s = null; - try (Cursor cursor = context.getContentResolver().query(uri, null, null, null, null, null)) { - if (cursor != null && cursor.moveToFirst()) { - int colName = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME); - int colSize = cursor.getColumnIndex(OpenableColumns.SIZE); - if (colName >= 0) - name = cursor.getString(colName); - if (colSize >= 0) - s = cursor.getString(colSize); + try { + try (Cursor cursor = context.getContentResolver().query(uri, null, null, null, null, null)) { + if (cursor != null && cursor.moveToFirst()) { + int colName = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME); + int colSize = cursor.getColumnIndex(OpenableColumns.SIZE); + if (colName >= 0) + name = cursor.getString(colName); + if (colSize >= 0) + s = cursor.getString(colSize); + } } - + } catch (SecurityException ex) { + Log.w(ex); } DB db = DB.getInstance(context); @@ -1935,7 +1938,7 @@ public class FragmentCompose extends FragmentBase { resizeAttachment(context, attachment); - } catch (IOException ex) { + } catch (Throwable ex) { // Reset progress on failure Log.e(ex); db.attachment().setError(attachment.id, Helper.formatThrowable(ex, false));