From: Pádraig Brady
Date: Tue, 8 Sep 2015 11:53:11 +0000 (+0100) Subject: maint: fix heap manipulations in previous commit X-Git-Tag: v8.25~149 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5bbdcd2a02d9686edb788c46fc953192acdc6796;p=thirdparty%2Fcoreutils.git maint: fix heap manipulations in previous commit * 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. --- diff --git a/src/sort.c b/src/sort.c index a7eda8325a..7ce059282a 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"), "-");