Fix EOF handling in BufferedFile::read()