The patch is supposed to fix at least the following bugs. bug 4254082: Marked as "Closed, will not be fixed" for no good reason. The new skip(long) implementation discards as much as possible from the buffer and requests in.skip(long) to do the rest if necessary. The test case works correct now. bug 4401235: Marked as "Closed, not a bug" for no good reason. The updated read(byte[], int, int) does no longer block as it is documented not to do so. The test case works correct now. bug 4479751 & 6192696: Falsely marked as "Closed, fixed" and so are their "Related Bugs". The updated fill() uses available(). The test case works correct now. bug 6557791: With 6192696 fixed, read(byte[]) had to be implemented to make sure it works as described in InputStream.read(byte[]). The new implementation also fixes this bug. The test case works correct now. I think the patch is ready. Any success/failure reports or comments/critics are more than welcome. Cheers, Pascal