Imported Upstream version 1.4
[debian/gzip] / lib / vfprintf.c
index b240b0d9866d92f536e4172bea76f54aa02a92ca..cae62e5e18563fcb7bd5baa35f80a45b7ad05f97 100644 (file)
@@ -1,5 +1,5 @@
 /* Formatted output to a stream.
-   Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2010 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -52,14 +52,17 @@ vfprintf (FILE *fp, const char *format, va_list args)
   if (fwrite (output, 1, len, fp) < len)
     {
       if (output != buf)
-       {
-         int saved_errno = errno;
-         free (output);
-         errno = saved_errno;
-       }
+        {
+          int saved_errno = errno;
+          free (output);
+          errno = saved_errno;
+        }
       return -1;
     }
 
+  if (output != buf)
+    free (output);
+
   if (len > INT_MAX)
     {
       errno = EOVERFLOW;