Unsafe use of DataInput.skipBytes() in StoredPage and StoredFieldHeader
-----------------------------------------------------------------------

                 Key: DERBY-3941
                 URL: https://issues.apache.org/jira/browse/DERBY-3941
             Project: Derby
          Issue Type: Bug
          Components: Newcomer, Store
            Reporter: Knut Anders Hatlen
            Priority: Minor


Some methods in StoredFileHeader and StoredPage call 
java.io.DataInput.skipBytes(int) with the assumption that it always skips the 
requested number of bytes. According to the javadoc for skipBytes, it may skip 
fewer bytes than requested, possibly 0, even if the end of the stream hasn't 
been reached.

The problem exists in these methods:

  StoredFieldHeader.readFieldDataLength()
  StoredPage.readRecordFromStream()
  StoredPage.skipField()
  StoredPage.readOneColumnFromPage()
  StoredPage.readRecordFromArray()

We should change the code so that it works correctly even if skipBytes() were 
to skip fewer bytes than requested.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to