From 826ab14b26b33f83a6b2f08660670569fd083a4e Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Fri, 16 Jul 1999 22:28:46 +0000 Subject: * Fix some memory and file descriptor leaks. --- .purify | 5 +++++ ChangeLog | 11 +++++++++++ job.c | 4 ++-- read.c | 1 + 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 .purify diff --git a/.purify b/.purify new file mode 100644 index 0000000..098e741 --- /dev/null +++ b/.purify @@ -0,0 +1,5 @@ +suppress plk malloc; setvbuf "libc*"; main "main.c" +suppress mlk malloc; xmalloc "misc.c"; decode_env_switches "main.c" +suppress plk malloc; xmalloc "misc.c"; decode_env_switches "main.c" +suppress mlk malloc; xmalloc "misc.c"; concat "misc.c"; decode_env_switches "main.c" +suppress plk malloc; xmalloc "misc.c"; concat "misc.c"; decode_env_switches "main.c" diff --git a/ChangeLog b/ChangeLog index 8288d77..3895a85 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +1999-07-16 Paul D. Smith + + * .purify: New file: suppress some known-OK Purify messages. + + * read.c (read_makefile): Remember to free the commands buffer if + we can't find a makefile. + + * job.c (start_job_command): Broken #ifdef test: look for F_SETFD, + not FD_SETFD. Close-on-exec isn't getting set on the bad_stdin + file descriptor and it's leaking :-/. + 1999-07-15 Paul D. Smith * read.c (read_makefile): Fix some potential memory stomps parsing diff --git a/job.c b/job.c index caabb1e..e84897b 100644 --- a/job.c +++ b/job.c @@ -897,7 +897,7 @@ start_job_command (child) /* Set the descriptor to close on exec, so it does not litter any child's descriptor table. When it is dup2'd onto descriptor 0, that descriptor will not close on exec. */ -#ifdef FD_SETFD +#ifdef F_SETFD #ifndef FD_CLOEXEC #define FD_CLOEXEC 1 #endif @@ -980,7 +980,7 @@ start_job_command (child) /* We are the child side. */ unblock_sigs (); child_execute_job (child->good_stdin ? 0 : bad_stdin, 1, - argv, child->environment); + argv, child->environment); } else if (child->pid < 0) { diff --git a/read.c b/read.c index 4ac9745..0a39ef6 100644 --- a/read.c +++ b/read.c @@ -396,6 +396,7 @@ read_makefile (filename, flags) attempt, rather from FILENAME itself. Restore it in case the caller wants to use it in a message. */ errno = makefile_errno; + free (commands); return 0; } -- cgit v1.2.3