Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
Unknown
Description
Maybe a bit of an edge case, but the result of NIOConverter.toByteBuffer(File) can potentially vary depending on the size of the file used for conversion. It can be null or a ByteBuffer with partial or empty content.
The converter does:
byte[] buf = new byte[(int) file.length()];
If file.length() > Integer.MAX_VALUE, then the cast from long to int can produce some unexpected results. E.g if the file size is Integer.MAX_VALUE + 1, then the result from the cast is -2147483648. If the file size is 4294967296 then the result from the cast is 0.