local_fsize() was not caching the size.  Also add error checking.
Remove unnecessary null check (confuses Coverity).