diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index e3e7e65361..9d454bf796 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -192,6 +192,8 @@ public class MessageHelper { private static final int MAX_HEADER_LENGTH = 998; private static final int MAX_MESSAGE_SIZE = 10 * 1024 * 1024; // bytes + private static final int MAX_KEYWORDS = 32; + private static final int MAX_LABELS = 32; private static final long ATTACHMENT_PROGRESS_UPDATE = 1500L; // milliseconds private static final int MAX_META_EXCERPT = 1024; // characters private static final int FORMAT_FLOWED_LINE_LENGTH = 72; // characters @@ -1524,6 +1526,8 @@ public class MessageHelper { @NonNull String[] getKeywords() throws MessagingException { List keywords = Arrays.asList(imessage.getFlags().getUserFlags()); + while (keywords.size() > MAX_KEYWORDS) + keywords.remove(keywords.size() - 1); Collections.sort(keywords); return keywords.toArray(new String[0]); } @@ -1962,6 +1966,9 @@ public class MessageHelper { if (!label.startsWith("\\")) labels.add(label); + while (labels.size() > MAX_LABELS) + labels.remove(labels.size() - 1); + Collections.sort(labels); return labels.toArray(new String[0]);