From 24b828141e7adc127fcd47f07d83b8375dae93b4 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 6 Jan 2019 14:33:13 +0000 Subject: [PATCH] Check attachment download --- .../java/eu/faircode/email/ServiceSynchronize.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java index 640d6feffb..3d6d766d04 100644 --- a/app/src/main/java/eu/faircode/email/ServiceSynchronize.java +++ b/app/src/main/java/eu/faircode/email/ServiceSynchronize.java @@ -1919,9 +1919,14 @@ public class ServiceSynchronize extends LifecycleService { // Download attachment MessageHelper helper = new MessageHelper((MimeMessage) imessage); - EntityAttachment a = helper.getAttachments().get(sequence - 1); - attachment.part = a.part; - attachment.download(this, db); + List attachments = helper.getAttachments(); + if (sequence - 1 < attachments.size()) { + attachment.part = attachments.get(sequence - 1).part; + attachment.download(this, db); + } else { + db.attachment().setProgress(attachment.id, null); + throw new IllegalArgumentException("Attachment not found seq=" + sequence + " size=" + attachments.size()); + } } private void synchronizeFolders(EntityAccount account, IMAPStore istore, ServiceState state) throws MessagingException {