You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Charan Reddy Guttapalem (JIRA)" <ji...@apache.org> on 2016/10/19 23:23:58 UTC
[jira] [Created] (BOOKKEEPER-958) ZeroBuffer readOnlyBuffer returns
ByteBuffer with 0 remaining bytes for length > 64k
Charan Reddy Guttapalem created BOOKKEEPER-958:
--------------------------------------------------
Summary: ZeroBuffer readOnlyBuffer returns ByteBuffer with 0 remaining bytes for length > 64k
Key: BOOKKEEPER-958
URL: https://issues.apache.org/jira/browse/BOOKKEEPER-958
Project: Bookkeeper
Issue Type: Bug
Reporter: Charan Reddy Guttapalem
Assignee: Charan Reddy Guttapalem
Priority: Trivial
in ZeroBuffer
here, if the length is > zeroBytes.length (64K), then it is returning zero ByteBuffer but its position is set to limit and hence its remaining will be 0, which is not expected, but if it is < 64k then its position is set to 0 and the remaining will be length.
Looking at the call hierearchy, it seems there are no callers for this function, but since this is utility class it needs to be corrected.
public static ByteBuffer readOnlyBuffer(int length) {
ByteBuffer buffer;
if (length <= zeroBytes.length) {
buffer = ByteBuffer.wrap(zeroBytes, 0, length);
}
else {
buffer = ByteBuffer.allocate(length);
put(buffer);
}
return buffer.asReadOnlyBuffer();
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)