Updating check semantics in io_read

Making checks explicit for Not NULL instead of implicitly truth-y