From 2634ed276b1754b3d86430a93e00d54adaaa2f35 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 12 May 2024 21:49:14 +0200 Subject: [PATCH] Limit number of keywords/labels --- app/src/main/java/eu/faircode/email/MessageHelper.java | 7 +++++++ 1 file changed, 7 insertions(+) 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]);