changeset 7280 | 81f10887bf74 |
parent 5506 | 202f599c92aa |
child 7668 | d4a77089c587 |
--- a/jdk/src/share/classes/java/io/BufferedInputStream.java Fri Nov 19 13:35:07 2010 +0000 +++ b/jdk/src/share/classes/java/io/BufferedInputStream.java Fri Nov 19 10:00:08 2010 -0800 @@ -395,7 +395,11 @@ * or an I/O error occurs. */ public synchronized int available() throws IOException { - return getInIfOpen().available() + (count - pos); + int n = count - pos; + int avail = getInIfOpen().available(); + return n > (Integer.MAX_VALUE - avail) + ? Integer.MAX_VALUE + : n + avail; } /**