core/io: fix reading behaviour with e.g. BufReader