Index: lib/libc/stdio/fread.c =================================================================== --- lib/libc/stdio/fread.c +++ lib/libc/stdio/fread.c @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include "namespace.h" +#include #include #include #include @@ -129,8 +130,12 @@ } while (resid > (r = fp->_r)) { - (void)memcpy((void *)p, (void *)fp->_p, (size_t)r); - fp->_p += r; + if (fp->_p) { + (void)memcpy((void *)p, (void *)fp->_p, (size_t)r); + fp->_p += r; + } else { + assert(r == 0); + } /* fp->_r = 0 ... done in __srefill */ p += r; resid -= r;