summaryrefslogtreecommitdiffstats
path: root/provider_src
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2015-06-08 15:18:48 +0200
committerSteve Kondik <steve@cyngn.com>2015-10-18 14:05:32 -0700
commit0672de3149388b8d195df7c8b2ddc8e8074f53fe (patch)
tree744d628296c56da714e2fde823c8800387a3edfa /provider_src
parent96a2b55e39d35e2dc78559df080569dd71b515ef (diff)
downloadandroid_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.java6
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