Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.0.0-alpha
-
None
-
None
-
Reviewed
Description
IOUtils#skipFully contains this code:
public static void skipFully(InputStream in, long len) throws IOException { while (len > 0) { long ret = in.skip(len); if (ret < 0) { throw new IOException( "Premature EOF from inputStream"); } len -= ret; } }
The Java documentation is silent about what exactly skip is supposed to do in the event of EOF. However, I looked at both InputStream#skip and ByteArrayInputStream#skip, and they both simply return 0 on EOF (no exception). So it seems safe to assume that this is the standard Java way of doing things in an InputStream.
Currently IOUtils#skipFully will loop forever if you ask it to skip past EOF!
Attachments
Attachments
Issue Links
- blocks
-
HDFS-3707 TestFSInputChecker: improper use of skip
- Closed