nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit fdcb9e92d64ce004cec8851438c1cdbef0c25064
parent a4a9d1759fadfc58c9583905310a71f419714e3c
Author: Chris Allegretta <chrisa@asty.org>
Date:   Wed, 12 Feb 2003 02:52:04 +0000

- Memory leak fixes for files.c:do_insertfile(),do_browser(), nano.c:do_spell(), and search.c:do_replace() (David Benbennick)


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1449 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 2++
Mfiles.c | 7+++++--
Mnano.c | 12+++++-------
Msearch.c | 1+
4 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -11,6 +11,8 @@ CVS code (David Benbennick). - Change ngettext macro to P_(), to avoid a clash with the reserved C __ identifier (Jordi). + - Memory leak fixes for files.c:do_insertfile(),do_browser(), + nano.c:do_spell(), and search.c:do_replace() (David Benbennick). - files.c: cwd_tab_completion() - Memory leak fix (David Benbennick). diff --git a/files.c b/files.c @@ -503,9 +503,10 @@ int do_insertfile(int loading_file) if (i == NANO_TOFILES_KEY) { char *tmp = do_browse_from(answer); - if (tmp != NULL) + if (tmp != NULL) { + free(answer); answer = tmp; - else + } else goto start_again; } #endif @@ -2718,6 +2719,8 @@ char *do_browser(const char *inpath) } /* Start over again with the new path value */ + free_charptrarray(filelist, numents); + free(foo); free(path); path = new_path; return do_browser(path); diff --git a/nano.c b/nano.c @@ -1976,7 +1976,7 @@ int do_spell(void) nano_disabled_msg(); return TRUE; #else - char *temp, *spell_msg = _("Generic error"); + char *temp, *spell_msg; if ((temp = safe_tempnam(0, "nano.")) == NULL) { statusbar(_("Could not create a temporary filename: %s"), @@ -2001,17 +2001,15 @@ int do_spell(void) else spell_msg = do_int_speller(temp); remove(temp); + free(temp); - if (spell_msg == NULL) { - statusbar(_("Finished checking spelling")); - return 1; - } else { + if (spell_msg != NULL) { statusbar(_("Spell checking failed: %s"), spell_msg); return 0; } - free(temp); - + statusbar(_("Finished checking spelling")); + return 1; #endif } diff --git a/search.c b/search.c @@ -763,6 +763,7 @@ int do_replace(void) else not_found_msg(prevanswer); + free(prevanswer); replace_abort(); return 1; }