| | |
| | | // Read the header if haven't done so already |
| | | peekLength(); |
| | | |
| | | if ((peekLength < 1) || (peekLength > 4)) { |
| | | if (peekLength < 1 || peekLength > 4) { |
| | | final LocalizableMessage message = ERR_ASN1_INTEGER_INVALID_LENGTH.get(peekLength); |
| | | throw DecodeException.fatalError(message); |
| | | } |
| | |
| | | // Read the header if haven't done so already |
| | | peekLength(); |
| | | |
| | | if ((peekLength < 1) || (peekLength > 8)) { |
| | | if (peekLength < 1 || peekLength > 8) { |
| | | final LocalizableMessage message = ERR_ASN1_INTEGER_INVALID_LENGTH.get(peekLength); |
| | | throw DecodeException.fatalError(message); |
| | | } |
| | |
| | | long longValue = 0; |
| | | for (int i = 0; i < peekLength; i++) { |
| | | final int readByte = buffer.get(); |
| | | if ((i == 0) && (((byte) readByte) < 0)) { |
| | | if (i == 0 && ((byte) readByte) < 0) { |
| | | longValue = 0xFFFFFFFFFFFFFFFFL; |
| | | } |
| | | longValue = (longValue << 8) | (readByte & 0xFF); |
| | |
| | | int intValue = 0; |
| | | for (int i = 0; i < peekLength; i++) { |
| | | final int readByte = buffer.get(); |
| | | if ((i == 0) && (((byte) readByte) < 0)) { |
| | | if (i == 0 && ((byte) readByte) < 0) { |
| | | intValue = 0xFFFFFFFF; |
| | | } |
| | | intValue = (intValue << 8) | (readByte & 0xFF); |
| | |
| | | |
| | | // Make sure that the element is not larger than the maximum allowed |
| | | // message size. |
| | | if ((maxElementSize > 0) && (peekLength > maxElementSize)) { |
| | | if (maxElementSize > 0 && peekLength > maxElementSize) { |
| | | final LocalizableMessage m = |
| | | ERR_LDAP_CLIENT_DECODE_MAX_REQUEST_SIZE_EXCEEDED |
| | | .get(peekLength, maxElementSize); |
| | |
| | | |
| | | // Make sure that the element is not larger than the maximum allowed |
| | | // message size. |
| | | if ((maxElementSize > 0) && (peekLength > maxElementSize)) { |
| | | if (maxElementSize > 0 && peekLength > maxElementSize) { |
| | | final LocalizableMessage m = |
| | | ERR_LDAP_CLIENT_DECODE_MAX_REQUEST_SIZE_EXCEEDED |
| | | .get(peekLength, maxElementSize); |
| | |
| | | */ |
| | | private boolean needTypeState(final boolean ensureRead) throws IOException { |
| | | // Read just the type. |
| | | if (ensureRead && (readLimiter.remaining() <= 0)) { |
| | | if (ensureRead && readLimiter.remaining() <= 0) { |
| | | return false; |
| | | } |
| | | |