diff -u nano/files.c nano-moreleaks/files.c --- nano/files.c Mon Feb 10 10:44:09 2003 +++ nano-moreleaks/files.c Mon Feb 10 16:13:12 2003 @@ -503,9 +503,10 @@ 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 +2720,8 @@ } /* Start over again with the new path value */ + free_charptrarray(filelist, numents); + free(foo); free(path); path = new_path; return do_browser(path); diff -u nano/nano.c nano-moreleaks/nano.c --- nano/nano.c Mon Feb 10 10:44:09 2003 +++ nano-moreleaks/nano.c Mon Feb 10 16:13:13 2003 @@ -1976,7 +1976,7 @@ 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 @@ 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 -u nano/search.c nano-moreleaks/search.c --- nano/search.c Mon Feb 10 10:44:10 2003 +++ nano-moreleaks/search.c Mon Feb 10 16:13:13 2003 @@ -763,6 +763,7 @@ else not_found_msg(prevanswer); + free(prevanswer); replace_abort(); return 1; }