+++ /dev/null
---- fclose.c.bsdnew 2009-11-11 13:33:03.000000000 -0800
-+++ fclose.c 2009-11-11 13:33:03.000000000 -0800
-@@ -49,6 +49,13 @@ fclose(FILE *fp)
- {
- int r;
-
-+ if (!__sdidinit)
-+ __sinit();
-+
-+ if (fp == NULL) {
-+ errno = EFAULT;
-+ return (EOF);
-+ }
- if (fp->_flags == 0) { /* not open! */
- errno = EBADF;
- return (EOF);
-@@ -65,7 +72,7 @@ fclose(FILE *fp)
- FREELB(fp);
- fp->_file = -1;
- fp->_r = fp->_w = 0; /* Mess up if reaccessed. */
-- fp->_flags = 0; /* Release this FILE for reuse. */
-+ __sfprelease(fp); /* Release this FILE for reuse. */
- FUNLOCKFILE(fp);
- return (r);
- }