OSDN Git Service

2004-07-16 Jeff Johnston <jjohnstn@redhat.com>
authorjjohnstn <jjohnstn>
Fri, 16 Jul 2004 15:47:14 +0000 (15:47 +0000)
committerjjohnstn <jjohnstn>
Fri, 16 Jul 2004 15:47:14 +0000 (15:47 +0000)
        * libc/stdio/fvwrite.c (_sfvwrite):  For asprintf family
        calls, if realloc fails, free up buffer as it is no longer
        used.

newlib/ChangeLog
newlib/libc/stdio/fvwrite.c

index 4c0d460..faaf125 100644 (file)
@@ -1,3 +1,9 @@
+2004-07-16  Jeff Johnston  <jjohnstn@redhat.com>
+
+       * libc/stdio/fvwrite.c (_sfvwrite):  For asprintf family
+       calls, if realloc fails, free up buffer as it is no longer
+       used.
+
 2004-07-07  Artem B. Bityuckiy  <dedekind@oktetlabs.ru>
 
        * libc/iconv/iconv.tex: Updated to represent recent changes.
index 3143b01..f036d74 100644 (file)
@@ -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;