You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "David Goitia Amigo (JIRA)" <ji...@apache.org> on 2016/10/09 22:03:20 UTC
[jira] [Created] (VFS-624) LocalFileRandomAccessContent returning
wrong value when reading 0xFF
David Goitia Amigo created VFS-624:
--------------------------------------
Summary: LocalFileRandomAccessContent returning wrong value when reading 0xFF
Key: VFS-624
URL: https://issues.apache.org/jira/browse/VFS-624
Project: Commons VFS
Issue Type: Bug
Affects Versions: 2.1, 2.0
Reporter: David Goitia Amigo
Priority: Critical
The LocalFileRandomAccessContent InputStream used for reading a byte as an int is calling the RandomAccessFile method readByte(byte), so it returns -1 in case of EOFException, but also in case of reading 0xFF in a file.
This also violates the expected behaviour of the read() method of the InputStream as can return negative values as result of the casting, while should only return an int value beetween 0 and 255, or -1 in case of eof.
This problem is also inherited by the default read(byte[]) and read(byte[], int off, int length).
The solution is to change the implementation to:
raf.read();
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)