Clean up file_read() and avoid a full memset() of contents