- /*
- * Read the filter string. The buffer contains the length (number of
- * bytes), then the bytes themselves.
- *
- * The length is represented as an unsigned int, but it should never
- * be greater than Integer.MAX_VALUE.
- */
- int filterStringLength = buf.getInt();
- if (filterStringLength < 0) {
- /*
- * The (unsigned) length is above what the sessiond should send. The
- * command cannot be processed.
- */
- filterString = null;
- commandIsValid = false;
- return;
- }
- if (filterStringLength == 0) {
- /* There is explicitly no filter string */
- filterString = "";
- commandIsValid = true;
- return;
- }
-
- byte[] filterStringBytes = new byte[filterStringLength];
- buf.get(filterStringBytes);
- filterString = new String(filterStringBytes).trim();