make read_buf() always read proper sizes