diff options
Diffstat (limited to 'newlib/libc/stdio/fvwrite.c')
-rw-r--r-- | newlib/libc/stdio/fvwrite.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/newlib/libc/stdio/fvwrite.c b/newlib/libc/stdio/fvwrite.c index 3143b01..f036d74 100644 --- a/newlib/libc/stdio/fvwrite.c +++ b/newlib/libc/stdio/fvwrite.c @@ -129,7 +129,11 @@ _DEFUN(__sfvwrite, (fp, uio), fp->_bf._base, curpos + len); if (!ptr) - goto err; + { + /* Free buffer which is no longer used. */ + _free_r (_REENT, fp->_bf._base); + goto err; + } fp->_bf._base = ptr; fp->_p = ptr + curpos; fp->_bf._size = curpos + len; |