jdk/src/share/classes/java/io/PushbackInputStream.java
changeset 7280 81f10887bf74
parent 5506 202f599c92aa
child 7668 d4a77089c587
--- a/jdk/src/share/classes/java/io/PushbackInputStream.java	Fri Nov 19 13:35:07 2010 +0000
+++ b/jdk/src/share/classes/java/io/PushbackInputStream.java	Fri Nov 19 10:00:08 2010 -0800
@@ -273,7 +273,11 @@
      */
     public int available() throws IOException {
         ensureOpen();
-        return (buf.length - pos) + super.available();
+        int n = buf.length - pos;
+        int avail = super.available();
+        return n > (Integer.MAX_VALUE - avail)
+                    ? Integer.MAX_VALUE
+                    : n + avail;
     }
 
     /**