mirror of
https://github.com/mirror/make.git
synced 2025-01-27 21:00:22 +08:00
* Fix some memory and file descriptor leaks.
This commit is contained in:
parent
a3cf773e29
commit
826ab14b26
5
.purify
Normal file
5
.purify
Normal file
@ -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"
|
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
1999-07-16 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
* .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 <psmith@gnu.org>
|
1999-07-15 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
* read.c (read_makefile): Fix some potential memory stomps parsing
|
* read.c (read_makefile): Fix some potential memory stomps parsing
|
||||||
|
4
job.c
4
job.c
@ -897,7 +897,7 @@ start_job_command (child)
|
|||||||
/* Set the descriptor to close on exec, so it does not litter any
|
/* 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,
|
child's descriptor table. When it is dup2'd onto descriptor 0,
|
||||||
that descriptor will not close on exec. */
|
that descriptor will not close on exec. */
|
||||||
#ifdef FD_SETFD
|
#ifdef F_SETFD
|
||||||
#ifndef FD_CLOEXEC
|
#ifndef FD_CLOEXEC
|
||||||
#define FD_CLOEXEC 1
|
#define FD_CLOEXEC 1
|
||||||
#endif
|
#endif
|
||||||
@ -980,7 +980,7 @@ start_job_command (child)
|
|||||||
/* We are the child side. */
|
/* We are the child side. */
|
||||||
unblock_sigs ();
|
unblock_sigs ();
|
||||||
child_execute_job (child->good_stdin ? 0 : bad_stdin, 1,
|
child_execute_job (child->good_stdin ? 0 : bad_stdin, 1,
|
||||||
argv, child->environment);
|
argv, child->environment);
|
||||||
}
|
}
|
||||||
else if (child->pid < 0)
|
else if (child->pid < 0)
|
||||||
{
|
{
|
||||||
|
1
read.c
1
read.c
@ -396,6 +396,7 @@ read_makefile (filename, flags)
|
|||||||
attempt, rather from FILENAME itself. Restore it in case the
|
attempt, rather from FILENAME itself. Restore it in case the
|
||||||
caller wants to use it in a message. */
|
caller wants to use it in a message. */
|
||||||
errno = makefile_errno;
|
errno = makefile_errno;
|
||||||
|
free (commands);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user