* fvwrite.c (__sfvwrite_r): Set __SMBF flag to avoid double free in

fclose.  Enhance comment.
This commit is contained in:
Corinna Vinschen 2011-12-20 09:06:58 +00:00
parent e7c65aae83
commit 87865f4c9a
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2011-12-20 Aleksandr Platonov <pam@oktetlabs.ru>
* fvwrite.c (__sfvwrite_r): Set __SMBF flag to avoid double free in
fclose. Enhance comment.
2011-12-19 Jeff Johnston <jjohnstn@redhat.com>
* NEWS: Update with 1.20.0 info.

View File

@ -155,8 +155,10 @@ _DEFUN(__sfvwrite_r, (ptr, fp, uio),
newsize);
if (!str)
{
/* Free buffer which is no longer used. */
/* Free buffer which is no longer used and clear
__SMBF flag to avoid double free in fclose. */
_free_r (ptr, fp->_bf._base);
fp->_flags &= ~__SMBF;
/* Ensure correct errno, even if free changed it. */
ptr->_errno = ENOMEM;
goto err;