bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] maint: always free a buffer, to avoid even semblance of a leak


From: Jim Meyering
Subject: [PATCH] maint: always free a buffer, to avoid even semblance of a leak
Date: Tue, 05 Jan 2010 09:12:06 +0100

As the log says...

>From be6c13e7e0abc46121c4250c82019179fd5e85c2 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Mon, 4 Jan 2010 16:49:30 +0100

* src/tac.c (main): Free the input buffer in most cases.
---
 src/tac.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/tac.c b/src/tac.c
index 465a089..c7af6c1 100644
--- a/src/tac.c
+++ b/src/tac.c
@@ -633,6 +633,7 @@ main (int argc, char **argv)
   if (! (read_size < half_buffer_size && half_buffer_size < G_buffer_size))
     xalloc_die ();
   G_buffer = xmalloc (G_buffer_size);
+  void *buf = G_buffer;
   if (sentinel_length)
     {
       strcpy (G_buffer, separator);
@@ -661,6 +662,10 @@ main (int argc, char **argv)
   output ((char *) NULL, (char *) NULL);

   if (have_read_stdin && close (STDIN_FILENO) < 0)
-    error (EXIT_FAILURE, errno, "-");
+    {
+      error (0, errno, "-");
+      ok = false;
+    }
+  free (buf);
   exit (ok ? EXIT_SUCCESS : EXIT_FAILURE);
 }
--
1.6.6.384.g14e6a




reply via email to

[Prev in Thread] Current Thread [Next in Thread]