The code of BufferedInputStream.transferTo contains several code locations where markpos is using an undefined value range by checking `markpos < 0`. The spec of BIS is very clear about markpos either being exactly -1, or being a value larger than that. To be spec compliant, the code should be changed from < 0 to == -1 everywhere.