From 348b57bc4e9c709679c3601bbbc2dc1bf2c5d659 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 1 Jan 2023 22:24:07 +0100 Subject: [PATCH] Debug: stop base64 decode after > 10 bad bytes --- app/src/main/java/com/sun/mail/util/BASE64DecoderStream.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/com/sun/mail/util/BASE64DecoderStream.java b/app/src/main/java/com/sun/mail/util/BASE64DecoderStream.java index 2559c748a7..7604ee1363 100644 --- a/app/src/main/java/com/sun/mail/util/BASE64DecoderStream.java +++ b/app/src/main/java/com/sun/mail/util/BASE64DecoderStream.java @@ -335,6 +335,7 @@ public class BASE64DecoderStream extends FilterInputStream { */ private int getByte() throws IOException { int c; + int bad = 0; do { if (input_pos >= input_len) { try { @@ -353,6 +354,8 @@ public class BASE64DecoderStream extends FilterInputStream { return -2; // no, convert it c = pem_convert_array[c]; + if (c == -1 && ++bad > 10 && eu.faircode.email.BuildConfig.DEBUG) + return -1; // loop until we get a legitimate byte } while (c == -1); return c;