coreutils
[Top][All Lists]
Advanced

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

[PATCH] maint: fix heap manipulations in previous commit


From: Pádraig Brady
Subject: [PATCH] maint: fix heap manipulations in previous commit
Date: Tue, 8 Sep 2015 12:56:53 +0100

* src/sort.c (main): Ensure we don't free() and invalid
pointer when reading implicit stdin.  Also avoid
"definitely lost" valgrind warnings in the --files0-from case.
---
 src/sort.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/sort.c b/src/sort.c
index a7eda83..7ce0592 100644
--- a/src/sort.c
+++ b/src/sort.c
@@ -4681,10 +4681,10 @@ main (int argc, char **argv)
 
   if (nfiles == 0)
     {
-      static char *minus = (char *) "-";
       nfiles = 1;
       free (files);
-      files = −
+      files = xmalloc (sizeof *files);
+      *files = (char *) "-";
     }
 
   /* Need to re-check that we meet the minimum requirement for memory
@@ -4742,7 +4742,12 @@ main (int argc, char **argv)
       sort (files, nfiles, outfile, nthreads);
     }
 
-  IF_LINT (free (files));
+#ifdef lint
+  if (files_from)
+    readtokens0_free (&tok);
+  else
+    free (files);
+#endif
 
   if (have_read_stdin && fclose (stdin) == EOF)
     die (_("close failed"), "-");
-- 
2.4.1




reply via email to

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