From bdb7ca1ba0c79dd8fb3ad8a67e6b4a714f1de8b8 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 26 Nov 2023 09:17:20 +0100 Subject: [PATCH] Avoid triggering Fluid Attacks https://docs.fluidattacks.com/criteria/fixes/java/052/ --- .../main/java/com/sun/mail/imap/Rights.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/sun/mail/imap/Rights.java b/app/src/main/java/com/sun/mail/imap/Rights.java index d9c4ce0298..e103a5a9d6 100644 --- a/app/src/main/java/com/sun/mail/imap/Rights.java +++ b/app/src/main/java/com/sun/mail/imap/Rights.java @@ -64,50 +64,50 @@ public class Rights implements Cloneable { /** * Lookup - mailbox is visible to LIST/LSUB commands. */ - public static final Right LOOKUP = getInstance('l'); + public static final Right LOOKUP = getRight('l'); /** * Read - SELECT the mailbox, perform CHECK, FETCH, PARTIAL, * SEARCH, COPY from mailbox */ - public static final Right READ = getInstance('r'); + public static final Right READ = getRight('r'); /** * Keep seen/unseen information across sessions - STORE \SEEN flag. */ - public static final Right KEEP_SEEN = getInstance('s'); + public static final Right KEEP_SEEN = getRight('s'); /** * Write - STORE flags other than \SEEN and \DELETED. */ - public static final Right WRITE = getInstance('w'); + public static final Right WRITE = getRight('w'); /** * Insert - perform APPEND, COPY into mailbox. */ - public static final Right INSERT = getInstance('i'); + public static final Right INSERT = getRight('i'); /** * Post - send mail to submission address for mailbox, * not enforced by IMAP4 itself. */ - public static final Right POST = getInstance('p'); + public static final Right POST = getRight('p'); /** * Create - CREATE new sub-mailboxes in any implementation-defined * hierarchy, RENAME or DELETE mailbox. */ - public static final Right CREATE = getInstance('c'); + public static final Right CREATE = getRight('c'); /** * Delete - STORE \DELETED flag, perform EXPUNGE. */ - public static final Right DELETE = getInstance('d'); + public static final Right DELETE = getRight('d'); /** * Administer - perform SETACL. */ - public static final Right ADMINISTER = getInstance('a'); + public static final Right ADMINISTER = getRight('a'); char right; // the right represented by this Right object @@ -127,7 +127,7 @@ public class Rights implements Cloneable { * @param right the character representing the right * @return the Right object */ - public static synchronized Right getInstance(char right) { + public static synchronized Right getRight(char right) { if ((int)right >= 128) throw new IllegalArgumentException("Right must be ASCII"); if (cache[(int)right] == null) @@ -163,7 +163,7 @@ public class Rights implements Cloneable { */ public Rights(String rights) { for (int i = 0; i < rights.length(); i++) - add(Right.getInstance(rights.charAt(i))); + add(Right.getRight(rights.charAt(i))); } /** @@ -287,7 +287,7 @@ public class Rights implements Cloneable { List v = new ArrayList<>(); for (int i = 0; i < this.rights.length; i++) if (this.rights[i]) - v.add(Right.getInstance((char)i)); + v.add(Right.getRight((char)i)); return v.toArray(new Right[v.size()]); }