In r268924 __fflush was modified so that when write(2) was not successful,
_p and _w are adjusted to account for the partial write (if any).

However, _p and _w should not be unconditionally adjusted and should only
be changed when we actually wrote some bytes, or the accumulated accounting
error will eventually result in a heap buffer overflow.

Reported by:	adrian and alfred (Norse Corporation)
Security:	FreeBSD-SA-14:27.stdio
Security:	CVE-2014-8611


git-svn-id: svn+ssh://svn.freebsd.org/base/head@275665 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Fix multiple vulnerabilities in file(1) and libmagic(3).

Security:	FreeBSD-SA-14:28.file
Security:	CVE-2014-3710, CVE-2014-8116, CVE-2014-8117


git-svn-id: svn+ssh://svn.freebsd.org/base/head@275666 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f