From efb9c49036a8fa927b314c4463c70999f4c2add2 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 5 Mar 2024 20:37:12 +0100 Subject: [PATCH] Fixed trimming references with multiple spaces --- .../main/java/eu/faircode/email/MessageHelper.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index a1418e67e5..37607a6076 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -822,14 +822,22 @@ public class MessageHelper { return new InternetAddress(email, name, StandardCharsets.UTF_8.name()); } - static String limitReferences(String references) { - int maxlen = MAX_HEADER_LENGTH - "References: ".length(); + static String limitReferences(String ref) { + final int maxlen = MAX_HEADER_LENGTH - "References: ".length(); + + String references = ref.trim(); int sp = references.indexOf(' '); while (references.length() > maxlen && sp > 0) { Log.i("Dropping reference=" + references.substring(0, sp)); - references = references.substring(sp); + references = references.substring(sp).trim(); sp = references.indexOf(' '); } + + if (references.length() > maxlen) { + Log.e("Too long References=" + Helper.getPrintableString(references, true)); + references = ""; + } + return references; }