Fixed decoding error
There would sometimes occur decoding errors because the initial filling of the read buffer wasn't complete, so the check for the high water mark would not see that more data was needed until it was too late. This release fixes the problem.