Index: stdio/fgetwln.c =================================================================== RCS file: /cvs/src/lib/libc/stdio/fgetwln.c,v retrieving revision 1.1 diff -p -U11 -r1.1 fgetwln.c --- stdio/fgetwln.c 12 Jan 2015 20:58:07 -0000 1.1 +++ stdio/fgetwln.c 21 Aug 2016 14:00:32 -0000 @@ -59,23 +59,23 @@ fgetwln(FILE * __restrict fp, size_t *le len = 0; while ((wc = __fgetwc_unlock(fp)) != WEOF) { #define GROW 512 if (len >= fp->_lb._size / sizeof(wchar_t) && __slbexpand(fp, len + GROW)) goto error; *((wchar_t *)fp->_lb._base + len++) = wc; if (wc == L'\n') break; } - if (len == 0) + if (len == 0 || fp->_flags & __SERR) goto error; FUNLOCKFILE(fp); *lenp = len; return (wchar_t *)fp->_lb._base; error: FUNLOCKFILE(fp); *lenp = 0; return NULL; }