summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2015-06-08 15:18:48 +0200
committerDanny Baumann <dannybaumann@web.de>2015-06-08 15:21:35 +0200
commit681988f90cc4da97fe6abd3099e4275584663682 (patch)
tree616934f6a3fbfe6939a7d4d7d532fba224d13f7d
parentb80c3bdb5aa86c93d52012a5ea56855a40e92dc2 (diff)
downloadandroid_packages_apps_Email-681988f90cc4da97fe6abd3099e4275584663682.tar.gz
android_packages_apps_Email-681988f90cc4da97fe6abd3099e4275584663682.tar.bz2
android_packages_apps_Email-681988f90cc4da97fe6abd3099e4275584663682.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
-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