From 8077dd7ab7ebd43f9254aaa1062a72ad1be832cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Fri, 4 Sep 2015 14:38:06 +0100 Subject: [PATCH] maint: avoid "definitely lost" valgrind warnings Since commit v8.23-19-g8defcee, main() will return, rather than calling exit(), this inducing "definitely lost" warnings in valgrinds leak checker. That precludes using the following to flag memory leaks: valgrind --leak-check=full --error-exitcode=1 \ --errors-for-leak-kinds=definite * src/pr.c (main): In dev bnuilds, explicitly free memory allocated. * src/sort.c (main): Likewise. * src/tail.c (main): Likewise. * src/tsort.c (tsort): Likewise. --- src/pr.c | 1 + src/sort.c | 2 ++ src/tail.c | 2 ++ src/tsort.c | 2 ++ 4 files changed, 7 insertions(+) diff --git a/src/pr.c b/src/pr.c index d79d84f..887e125 100644 --- a/src/pr.c +++ b/src/pr.c @@ -1130,6 +1130,7 @@ main (int argc, char **argv) } cleanup (); + IF_LINT (free (file_names)); if (have_read_stdin && fclose (stdin) == EOF) error (EXIT_FAILURE, errno, _("standard input")); diff --git a/src/sort.c b/src/sort.c index 85fc38f..a7eda83 100644 --- a/src/sort.c +++ b/src/sort.c @@ -4742,6 +4742,8 @@ main (int argc, char **argv) sort (files, nfiles, outfile, nthreads); } + IF_LINT (free (files)); + if (have_read_stdin && fclose (stdin) == EOF) die (_("close failed"), "-"); diff --git a/src/tail.c b/src/tail.c index c062d40..f916d74 100644 --- a/src/tail.c +++ b/src/tail.c @@ -2354,6 +2354,8 @@ main (int argc, char **argv) tail_forever (F, n_files, sleep_interval); } + IF_LINT (free (F)); + if (have_read_stdin && close (STDIN_FILENO) < 0) error (EXIT_FAILURE, errno, "-"); return ok ? EXIT_SUCCESS : EXIT_FAILURE; diff --git a/src/tsort.c b/src/tsort.c index d4be03d..0533451 100644 --- a/src/tsort.c +++ b/src/tsort.c @@ -528,6 +528,8 @@ tsort (const char *file) } } + IF_LINT (free (root)); + if (fclose (stdin) != 0) error (EXIT_FAILURE, errno, "%s", is_stdin ? _("standard input") : quote (file)); -- 2.4.1