Imported Upstream version 1.4
[debian/gzip] / lib / fprintf.c
index 7070f95b45093ee2a4c60a482b5581335bdd11fc..fda2a49c188ed67da3a1bde94a6a0cd6892e68dd 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
@@ -55,14 +55,17 @@ fprintf (FILE *fp, const char *format, ...)
   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;