Loading...
stdio/FreeBSD/fclose.c.patch /dev/null Libc-763.13
--- /dev/null
+++ Libc/Libc-763.13/stdio/FreeBSD/fclose.c.patch
@@ -0,0 +1,25 @@
+--- 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);
+ }