diff options
| author | Danny Baumann <dannybaumann@web.de> | 2015-06-08 15:18:48 +0200 |
|---|---|---|
| committer | Steve Kondik <steve@cyngn.com> | 2015-10-18 14:05:32 -0700 |
| commit | 0672de3149388b8d195df7c8b2ddc8e8074f53fe (patch) | |
| tree | 744d628296c56da714e2fde823c8800387a3edfa /provider_src | |
| parent | 96a2b55e39d35e2dc78559df080569dd71b515ef (diff) | |
| download | android_packages_apps_Email-0672de3149388b8d195df7c8b2ddc8e8074f53fe.tar.gz android_packages_apps_Email-0672de3149388b8d195df7c8b2ddc8e8074f53fe.tar.bz2 android_packages_apps_Email-0672de3149388b8d195df7c8b2ddc8e8074f53fe.zip | |
Fix ArrayIndexOutOfBoundsException.
This crash happens when the server isn't able to resolve the MSN:
FATAL EXCEPTION: IdleReader 3:Inbox
Process: com.android.email, PID: 3200
java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
at com.android.email.mail.store.ImapFolder.extractImapChanges(ImapFolder.java:1641)
at com.android.email.mail.store.ImapFolder.access$700(ImapFolder.java:77)
at com.android.email.mail.store.ImapFolder$1.run(ImapFolder.java:294)
Change-Id: I8a8c7cf3f2949630ee9db3646e5832246d69132d
Diffstat (limited to 'provider_src')
| -rw-r--r-- | provider_src/com/android/email/mail/store/ImapFolder.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/provider_src/com/android/email/mail/store/ImapFolder.java b/provider_src/com/android/email/mail/store/ImapFolder.java index eb0535d2a..13361650b 100644 --- a/provider_src/com/android/email/mail/store/ImapFolder.java +++ b/provider_src/com/android/email/mail/store/ImapFolder.java @@ -1638,7 +1638,11 @@ public class ImapFolder extends Folder { // Transform MSNs to UIDs for (String msn : msns) { String[] uids = searchForUids(String.format(Locale.US, "%s:%s", msn, msn)); - imapIdleChanges.mMessageToFetch.add(uids[0]); + if (uids.length > 0) { + imapIdleChanges.mMessageToFetch.add(uids[0]); + } else { + throw new MessagingException("Server could not resolve MSN " + msn); + } } } catch (MessagingException ex) { // Server doesn't support UID. We have to do a full sync (since |
