From: Chris Allegretta Date: Thu, 16 Jan 2003 03:11:23 +0000 (+0000) Subject: - nano.c:do_int_speller() - Fix FD leaks which occur outside of errors (David Benbennick) X-Git-Tag: v1.1.99pre1~13 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=2d5fc3adac7d787bb5a81b9804251e01549a5fb4;p=nano.git - nano.c:do_int_speller() - Fix FD leaks which occur outside of errors (David Benbennick) git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1363 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- diff --git a/ChangeLog b/ChangeLog index 45564807..36b387fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -157,6 +157,7 @@ Changes either be improved or removed. I chose improved]. - Change all child error checks to use one goto (gasp!) called close_pipes_and_exit, so we don't leak FDs. + - Fix FD leaks which occur outside of errors (David Benbennick). do_int_speller(), do_alt_speller() - Programs now return char *, NULL for successful completion, otherwise the error string to display. This allows us to give diff --git a/nano.c b/nano.c index 35e7af4f..e20378f2 100644 --- a/nano.c +++ b/nano.c @@ -1766,6 +1766,7 @@ char *do_int_speller(char *tempfile_name) exit(1); } + close(spell_fd[0]); close(sort_fd[1]); /* A new process to run uniq in */ @@ -1791,6 +1792,7 @@ char *do_int_speller(char *tempfile_name) exit(1); } + close(sort_fd[0]); close(uniq_fd[1]); /* Child process was not forked successfully */