diff --git a/current/src/main/java/com/sun/mail/iap/ResponseInputStream.java b/current/src/main/java/com/sun/mail/iap/ResponseInputStream.java
index 7bbba00..9e0ecde 100644
--- a/current/src/main/java/com/sun/mail/iap/ResponseInputStream.java
+++ b/current/src/main/java/com/sun/mail/iap/ResponseInputStream.java
@@ -58,6 +58,9 @@
     private static final int maxIncrement = 256 * 1024;
     private static final int incrementSlop = 16;
 
+		private final int inputStreamBufferMaxSize =
+				Integer.getInteger("com.sun.mail.iap.inputStreamBufferMaxSize", 0);
+
     // where we read from
     private BufferedInputStream bin;
 
@@ -109,7 +112,7 @@
 		    int incr = buffer.length;
 		    if (incr > maxIncrement)
 			incr = maxIncrement;
-		    ba.grow(incr);
+		    checkBeforeGrow(ba, incr);
 		    buffer = ba.getBytes();
 		}
 		buffer[idx++] = (byte)b;
@@ -145,7 +148,7 @@
 		int avail = buffer.length - idx; // available space in buffer
 		if (count + incrementSlop > avail) {
 		    // need count-avail more bytes
-		    ba.grow(minIncrement > count + incrementSlop - avail ? 
+		    checkBeforeGrow(ba, minIncrement > count + incrementSlop - avail ? 
 			    minIncrement : count + incrementSlop - avail);
 		    buffer = ba.getBytes();
 		}
@@ -179,4 +182,15 @@
     public int available() throws IOException {
 	return bin.available();
     }
+
+		// TODO: b/349666261 - Push for a fix upstream, or deprecate sun_mail.
+		private void checkBeforeGrow(ByteArray ba, int incr) throws IOException {
+			if (inputStreamBufferMaxSize > 0 && ba.getBytes().length + incr > inputStreamBufferMaxSize) {
+				throw new IOException(
+						String.format(
+								"Buffer in ResponseInputStream grows too large. Limit: %d, actual: %d",
+								inputStreamBufferMaxSize, ba.getBytes().length + incr));
+			}
+			ba.grow(incr);
+		}
 }
